《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网络爬虫开发实战] 1.5.1-PyMySQL的安装
Python3网络爬虫实战-4存储库的安装:PyMySQLPyMongoRedisPyRed