网站/小程序/APP个性化定制开发,二开,改版等服务,加扣:8582-36016

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

TXT文本存储

20190724173833822.png

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

JSON文件存储

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

2.png

3.png

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

4.png

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

5.png

6.png

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


读取JSON内容

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

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

12.png

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

CSV文件存储

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

15.png

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

16.png


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


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

17.png

csv内容读取

评论 0

暂无评论
0
0
0
立即
投稿
发表
评论
返回
顶部