Advertisement

python爬取数据并存到excel,python爬虫保存数据

阅读量:

大家好,小编为大家解答python爬取的数据怎么将其放入excel文件里的问题。很多人还不知道python将爬取的数据保存在哪个文件夹,现在让我们一起来看看吧!

Source code download: 本文相关源码

接上一篇文章: Python爬虫(一):编写简单爬虫之新手入门

前言:

上一篇文章,我爬取到了豆瓣官网的页面代码,我在想怎样让爬取到的页面显示出来呀,爬到的数据是html页面代码,不如将爬取到的代码保存到一个文件中,文件命名为html格式,那直接打开这个文件就可以在浏览器上看到爬取数据的效果了。废话不多说,进入正文用python画小猫简单

本篇文章:继续介绍另外两种方式来实现python爬虫获取数据,并将python获取的数据保存到文件中。

一、第一种方式:

主要通过爬取百度官网页面数据,将数据保存到文件baidu.html 中,程序运行完打开文件baidu.html 查看效果。具体代码中有详细的代码解释,相信刚入门的你也能看懂~~

说明一下我的代码环境是python3.7,本地环境是python2.x的可能需要改部分代码,用python3.x环境的没问题。

代码如下:
复制代码
 # -*- coding: utf-8 -*-

    
 import urllib.request
    
 import urllib
    
  
    
 # 1、网址url  --百度    
    
 url = 'http://www.baidu.com'
    
  
    
 # 2、创建request请求对象
    
 request = urllib.request.Request(url)
    
  
    
 # 3、发送请求获取结果
    
 response = urllib.request.urlopen(request)
    
 htmldata = response.read()
    
  
    
 # 4、设置编码方式
    
 htmldata = htmldata.decode('utf-8')
    
  
    
 # 5、打印结果
    
 print (htmldata)
    
  
    
 # 6、打印爬去网页的各类信息
    
 print ("response的类型:",type(response))
    
 print ("请求的url:",response.geturl())
    
 print ("响应的信息:",response.info())
    
 print ("状态码:",response.getcode())
    
  
    
 # 7、爬取数据保存到文件
    
 fileOb = open('baidu.html','w',encoding='utf-8')     #打开一个文件,没有就新建一个
    
 fileOb.write(htmldata)
    
 fileOb.close()

在open()方法中如果没有设置编码encoding=‘utf-8’,会报错,原因如下:
在windows下面,新文件的默认编码是gbk,这样的话,python解释器会用gbk编码去解析我们的网络数据流html,
然而html此时已经是decode过的unicode编码,这样的话就会导致解析不了,出现上述问题。
设置encoding=‘utf-8’,打开文件时就按照utf-8格式编码,则顺利运行。

运行结果:

部分截图如下:截取的是第六步中的网页各类信息,第五步打印的数据过多,也已经保存到文件 baidu.html中了,所以没有截取。

下图是运行程序之后在本地生成的baidu.html 文件**:**

打开此baidu.html 文件结果如下图所示:

有没有很神奇是不是和百度页面一模一样_,没错,就是这样子的

二、第二种方式:添加特殊情景的处理器

代码如下:

复制代码
 # -*- coding: utf-8 -*-

    
 import urllib.request, http.cookiejar
    
  
    
 # 1、网址url  --百度
    
 url = 'http://www.baidu.com'
    
  
    
 # 2、创建cookie容器
    
 cj = http.cookiejar.CookieJar()
    
 handle = urllib.request.HTTPCookieProcessor(cj)
    
  
    
 # 3、创建1个opener
    
 opener = urllib.request.build_opener(handle)
    
  
    
 # 4、给urllib.request安装opener
    
 urllib.request.install_opener(opener)
    
  
    
 # 5、使用带有cookie的urllib.request访问网页,发送请求返回结果
    
 response = urllib.request.urlopen(url)
    
 htmldata = response.read()
    
  
    
 # 6、设置编码方式
    
 data = htmldata.decode("utf-8")
    
  
    
 # 7、打印结果
    
 print (data)
    
  
    
 # 8、打印爬去网页的各类信息
    
 print ("response的类型:",type(response))
    
 print ("请求的url:",response.geturl())
    
 print ("响应的信息:",response.info())
    
 print ("状态码:",response.getcode())
    
  
    
 # 9、爬取数据保存到文件
    
 fileOb = open('baiduCookie.html','w',encoding='utf-8')     #打开一个文件,没有就新建一个
    
 fileOb.write(data)
    
 fileOb.close()

为了区别第一种生成的文件baidu.html,这里我将第二种生成的文件命名为 baiduCookie.html

这种方式结果和第一种一样,只是代码不同,所以下面不在赘述,结果见第一种即可。

喜欢我的文章的可以关注哦,有问题的可以提出来,互相交流,互相学习_

觉得不过瘾,看下一篇文章。

接下一篇文章: Python爬虫(三):python抓取网页中的图片到本地

总结

说了这么多,旨在告诉大家Python这个类目无论是功能性、还是上手程度都碾压其他语言 ,作为最适合零基础入门的编程语言,想要学习自然不能纸上谈兵,还得沉下心来深入的研究和学习。

只告诉大家学什么但是不给予方向的行为无异于耍流氓,这里也是分享我多年收藏的技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你,干货内容包括:
在这里插入图片描述

上述这份完整版的Python全套学习资料已经上传官方,如果需要可以微信扫描下方官方认证二维码 即可领取

👉[[大礼包:《python安装包&全套学习资料》免费分享]]安全链接,放心点击

全部评论 (0)

还没有任何评论哟~