《python3网络爬虫开发实战》--数据存储

Posted 成成啊亲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《python3网络爬虫开发实战》--数据存储相关的知识,希望对你有一定的参考价值。

1. TXT文本

 1 import requests
 2 from pyquery import PyQuery as pq
 3 
 4 url = \'http://www.zhihu.com/explore\'
 5 headers = {
 6     \'User-Agent\': \'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) \'
 7                   \'Chrome/69.0.3497.100 Safari/537.36\'
 8 }
 9 html = requests.get(url, headers=headers).text
10 doc = pq(html)
11 items = doc(\'.explore-tab .feed-item\').items()
12 for item in items:
13     question = item.find(\'h2\').text()
14     author = item.find(\'.author-link-line\').text()
15     answer = pq(item.find(\'.content\').html()).text()
16     file = open(\'explore.txt\', \'a\', encoding=\'utf-8\')
17     file.write(\'\\n\'.join([question, author, answer]))
18     file.write(\'\\n\' + \'=\' * 50 + \'\\n\')
19     file.close()

open打开文件:

w: 以写入方式打开一个文件.如果该文件已存在,则将其瞿盖.如果该文件不存在,则创建新文件。
wb:以二进制写入方式打开一个文件.如果该文件已存在,则将其覆盖.如果该文件不存在,则创建新文件。
w+:以读写方式打开一个文件.如果该文件已存在,则将其覆盖.如果该文件不存在,则创建新文件.
wb+:以二进制读写格式打开一个文件.如果该文件已存在,则将其覆盖.如果该文件不存在,则创建新文件。
a: 以追加方式打开一个文件.如果该文件已存在,文件指针将会放在文件结尾.也就是说,新的内容将会被写入到已有内容之后。 如果该文件不存在, 则创建新文件来写入。
ab:以二进制追加方式打开一个文件.如果该文件已存在,则文件指针将会放在文件结尾.也就是说,新的内容将会被写入到己有内容之后。 如果该文件不存在,则创建新文件来写入。
a+:以读写方式打开一个文.如果该文件已存在,文件指针将会放在文件的结尾.文件打 开时会是追加模式.如果眩文件不存在,则创建新文件来读写。
ab+:以二进制追加方式打开一个文件.如果该文件已存在,则文件指针将会放在文件结尾.如果该文件不存在,则创建新文件用于读写.

 2. JSON文件存储

1 import json
2 
3 data = [{
4     \'name\': \'郑成\',
5     \'gender\': \'\',
6     \'birthday\': \'1994-08-09\'
7 }]
8 with open(\'data.json\', \'w\',encoding=\'utf-8\') as file:
9     file.write(json.dumps(data, indent=2, ensure_ascii=False))#indent代表缩进的个数
1 [
2   {
3     "name": "郑成",
4     "gender": "",
5     "birthday": "1994-08-09"
6   }
7 ]

3. CSV

 

4. mysql

5.mongdb:

6.redis

以上是关于《python3网络爬虫开发实战》--数据存储的主要内容,如果未能解决你的问题,请参考以下文章

《python3网络爬虫开发实战》--模拟登陆

[Python3网络爬虫开发实战] 1.5.1-PyMySQL的安装

《python3网络爬虫开发实战》--Ajax数据爬取

Python3网络爬虫实战-4存储库的安装:PyMySQLPyMongoRedisPyRed

Python3网络爬虫实战-33数据存储:非关系型数据库存储:MongoDB

Python3网络爬虫实战-34数据存储:非关系型数据库存储:Redis