数据存储

用解析器解析出数据之后,接下来就是数据存储。保存的形式可以多种多样,最简单的形式是直接保存为本地文件,如TXT,JSON,CSV等。另外,还可以保存到数据库中,如关系型数据库Mysql,非关系型数据库MongoDB,Redis等

TXT文本存储

这里是用requests提取知乎的“发现”页面,然后将热门话题的问题,回答者,答案全文提取出来,然后利用python提供的open()方法打开一个文本文件,获取一个文件操作对象,这里赋值为file,接着利用file对象的write()方法将提取的内容写入文件,最后调用close()方法将其关闭,这样抓取的内容即可成功写入文本中。

 

JSON文件存储

JSON,全称为JavaScript Object Notation,也就是JavaScript对象标记,它通过对象和数组的组合来表示数据

这里是将loads()方法将字符串转为JSON对象。如果想要获取元素的值,可以使用如下:

这里使用get获取内容的时候,如果键名不存在,不会报错,会返回None,而且里面也可以传入第二个参数,当没有找到键值对的时候,会返回第二个参数

 

需要注意的是:JSON数据需要用双引号来包围,不能使用单引号,会出现错误

 

读取JSON内容

 

这里可以使用dumps()方法将JSON对象转为字符串

如果在JSON数据中有文字,可使用如下方法进行存储

encoding=“utf-8”是将中文字符变成unicode字符,然后转为中文的时候需要使用ensure_ascii=False

 

CSV文件存储

 

如果要修改列与列之间的分隔符,可以传入delimiter参数,如下分隔符为空格

如果想要同时写入多行,可以使用writerows()方法同时写入多行,此时参数为二维列表

 

一般情况下,爬虫爬取的都是结构化数据,我们一般用字典表示。

这里先定义3个字段,用fieldnames表示,然后传给DictWriter来初始化一个字典写入对象,接着调用writeheader()方法先写入头信息,然后调用writerow()传入相应字典即可。

 

csv内容读取

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值