《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

猜你喜欢

转载自www.cnblogs.com/chengchengaqin/p/9787369.html