码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-10-14 20:48:54      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:lin   item   ems   odi   5.0   mys   join   encoding   分享   

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网络爬虫开发实战》--数据存储

标签:lin   item   ems   odi   5.0   mys   join   encoding   分享   

原文地址:https://www.cnblogs.com/chengchengaqin/p/9787369.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!