前面说过Python爬取的数据可以存储到文件、关系型数据库、非关系型数据库。前面两篇文章没看的,可快速戳这里查看!《使用Python将数据存入SQLite3数据库》
《基于Python的SQLite基础知识学习》而存储到文件的数据一般都具有时效性,例如股市行情、商品信息和排行榜信息等等。这样的信息是具有动态性的,非特殊要求,可以存放到文件中,下面让我们来看一下存入文件的几种方法,文章有点长,但全是干货,请耐心看完。
Txt文件存储
将数据保存到TXT文件很简单,使用如下语法即可打开一个文件写入数据。
with open('test.txt','w',encoding='utf-8') as file:
file.write()
这里来看一个例子:爬取知乎上“发现”页面的热门话题部分,将问题和答案统一保存为txt格式。
import requests
#使用requests库将网页源码获取下来
from pyquery import PyQuery as pq
#使用pyquery解析库解析
url = 'http://www.zhihu.com/explore'
headers = {
'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Mobile Safari/537.36'
}
html = requests.get(url,headers = headers).text
doc = pq(html)
items = doc('.explore-tab .feed-item').items()
for item in items:
question = item.find('h2').text()
author = item.find('.author-link-line').text()
answer = pq(item.find('.content').html()).text()
with open('test.txt','w',encoding='utf-8') as file:
file.write('\n'.join([question,author,answer]))
file.write('\n' + '=' * 50 + '\n')
如下图所示,可以看到这篇文章已经写入文本文件了。
JSON文件存储
JSON(javaScript Object Notation,也就是JavaScript对象标记)
JSON是通过数组和对象的组合来表示数据,构造简洁但结构化程度非常高,是一种轻量级的数据交换格式。Python为我们提供了简单易用的 JSON库来实现JSON文件的读写操作,我们可以调用 JSON loads()方法将JSON文本字符串转为JSON对象,可以通过 dumps()方法将 JSON 对象转为文本字符串,具体看下面代码。
import json
str = '''[{
"name":"Bob",
"gender":"male",
"birthay":"1992-10-18"
} , {
"name":"Selina",
"gender":"female",
"birthdat":"1995-10-18"
}]'''
print(type(str))
data = json.loads(str)
print(data)
print(type(data))
另外我们可以使用dumps()方法将JSON对象转化为字符串,如下图所示。
import json
data = [{
'nam