博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《python3网络爬虫开发实战》--数据存储
阅读量:5057 次
发布时间:2019-06-12

本文共 1671 字,大约阅读时间需要 5 分钟。

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).text10 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 json2 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

转载于:https://www.cnblogs.com/chengchengaqin/p/9787369.html

你可能感兴趣的文章
[国嵌攻略][164][USB驱动程序设计]
查看>>
C# 实现Bresenham算法(vs2010)
查看>>
基于iSCSI的SQL Server 2012群集测试(一)--SQL群集安装
查看>>
list 容器 排序函数.xml
查看>>
存储开头结尾使用begin tran,rollback tran作用?
查看>>
Activity启动过程中获取组件宽高的五种方式
查看>>
java导出Excel表格简单的方法
查看>>
SQLite数据库简介
查看>>
利用堆实现堆排序&优先队列
查看>>
Mono源码学习笔记:Console类(四)
查看>>
Android学习路线(十二)Activity生命周期——启动一个Activity
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>
App.config自定义节点读取
查看>>
unity3d根据手机串号和二维码做正版验证
查看>>
二十六、Android WebView缓存
查看>>