如何将python爬出来的数据保存_python爬虫第7篇——爬取的数据如何存档

本文介绍使用Python爬虫抓取网页数据并将其存档至本地的方法,包括选择存储位置、实现存储的技术手段及具体存储内容的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原标题:python爬虫第7篇——爬取的数据如何存档

阅读本文,小编假定你使用的是Window10操作系统下面的python3.X版本。

并且已经掌握了一些基本的python操作。否则,请从本系列的第一篇开始阅读。

我们力求看到这篇文章的朋友,都不会因为太复杂而看不懂,如果看不懂,我们本身就成为问题了!!!

存档这个技术活,或者说持久化,都需要解决哪些问题呢?我看就三个问题:

1:存到哪里?

2:如何存?

3:存什么?

***************************************************************

1:存到哪里?

这个目前第一步的话,就是存到本地电脑的硬盘上,就是我们说的C盘或者D盘,或者其他的硬盘上,都是可以的。

暂且先不去了解Linux,或者存到数据库,这是下一阶段的事情,后面都会一一展开讨论。

比如存档的时候,就是存到D盘下面资料夹A201022,这个资料夹名字没有啥新意,就是代表2020年10月22日建立的。

2:如何存?

如果使用python自带模块urllib下的requests方法

代码这样写:

with open('d:\\A201022\\ndsl.html','w') as f:

print(data.read(),file = f)

如果使用第三方模块requests方法

with open('d:\\A201022\\ndsl.html','w') as f:

print(data.url,file = f)

!!!注意:requests模块中没有read()方法。

可能有的同学看到这个什么方法,头就大了,其实这是面向对象的编程里面的名词。

这里容易踩的坑就是:

A:路径的写法:比如我们的路径是D:\A201022\ndsl.html,我们假定是windows系统下

我们可以使用2种方法来进行路径描述,一种写法是双斜杠!

在代码中直接就是:D:\\A201022\\ndsl.html

另一种写法是反斜杠!

或者D:/A201022/ndsl.html

中间隔开的地方必须双斜杠。

我们先记住这样就可以。因为单独的斜杠\是转义符的意思。

B:路径必须写在单引号中

C:必须提前建立好资料夹,还有html文件,其实这个文件非常好建立,建立一个记事本文件,然后把后缀名改为html就可以了。如果不显示后缀名,请开启文件夹显示后缀名。

******************************************************

3:存什么?

就是利用python中自带的urllib模块中的request方法,或者是第三方模块requests.

严重注意:request和requests虽然只有一个字母之差,但是根本不同。不要去试图比较他们。

我们假定

urllib模块中的request方法

import urllib.request

url = 'http://www.baidu.com'

data = urllib.request.urlopen(url)

第三方模块中的requests方法

import requests

url = 'http://www.baidu.com'

data = requests.get(url)

这样的话,就是把我们访问的地址写进去了。

result=requests.post(url,data,headers)

注意这里是模版,前面这个result可以依照自己的要求进行更改的。

requests.post不能更改,url替换成网址,需要用单引号引起来,headers是个字典变量,这样的{‘User-Agent’:‘’}

后面单引号中填写自己浏览器中的用户代理。

任何浏览器中输入about:version获得!

result.text #可以获取响应的内容如抓回来的网页

result. encoding='utf-8'

#有时回来的是乱码,改变编码以使其正常显示根据实际情况改变编码utf-8、gb2312等

result. content #可以获取二进制内容,如抓取登陆时的验证码等非字符资源

result.cookies #可以查看当前保存的cookie情况

result. status_code #可以查看HTTP状态码(如200 OK、404 Not Found等)

result.url #可以查看当前请求的网址

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值