数据的处理
爬虫数据的提取
正则表达式
- 规则---不同语言不同,比如js中的正则表达式
- 转移字符.*
- Re模块
- compile
- findall---返回列表
- search
- match
- sub---替换---返回结果字符串
- 正则会在最后的字符串提取时起作用
- 规则---不同语言不同,比如js中的正则表达式
jsonpath
- 属于js中的内容,并不完全与Python兼容,其中有些函数不能使用
- jsonpath接收的是json.loads()后的结果,所以是一个字典或者列表。也就是说jsonpath接收的必须是Python的内置对象。
- jsonpath返回的是一个列表
Python中运行js代码--两个模块--反爬时会用到
- js2py,本质上将js代码翻译成Python代码
- pyexecjs,已经停止更新了
数据的清洗
- 数据的一致性---单位是否统一
- 数据的完整性---出版社信息
- 数据的唯一性---数据去重
- 数据的准确性---判断数据是否正确
- 数据的清洗
- 时间格式
- 数据类型转换---str_to_float
- 字符串处理
爬虫数据存储
- 文件
- 首先打开文件
- open(文件,打开方式)
- json
- 使用ensure_ascii=False保持中文的形式
- csv
- 结构简单:列行数据分别以逗号和换行符来分割
- 使用便捷:可直接被pandas、numpy等数据处理模块或直接导入Excel中进行处理
- 首先打开文件
数据库
- mysql
- 使用线程
- 更稳定
- 回滚实现更优秀
- 权限限制更完善
- 对编码比较敏感,连接时需要注意
- postgresql
- 使用进程
- 集群支持好
- 事务隔离做的更好,安全性更高
- 没有字符串长度限制,对字符支持更好一些
- 地址数据的良好支持,提供更多高级的功能
- MongoDB
- 读数据占据优势,适合存储热数据,可以充分利用机器的内存资源,查询效率高
- mysql更适合以插入、更新的任务模型
- 稳定性不如mysql,在事务支持方面薄弱
- 不用事先创建数据库
- mysql
数据库的操作
- 使用pymysql连接和控制mysql数据库
- 熟练编写sql语句
- 注意连接参数---编码格式
- 连接和控制postgresql与mysql类似,仅仅是sql语句不同
- 使用pymono连接操作MongoDB数据库
- 使用pymysql连接和控制mysql数据库
使用sqlalchemy创建模型类
使用Django的ORM模型类---推荐使用
相关推荐
sailxu00 2020-06-21
somebodyoneday 2020-06-01
adonislu 2020-05-29
fengchao000 2020-05-07
AngelaDan 2020-01-07
somebodyoneday 2019-12-27
四叶草 2019-12-25
fengchao000 2019-12-12
GhostLWB 2019-12-10
somebodyoneday 2019-12-06
yigeng 2016-08-10
咸鱼的星空 2015-04-07
chinewwen 2018-08-17
MYSQL轻松学 2018-08-21
youmianzhou 2018-07-31
Yugi000 2013-11-18
忘 2014-03-10
张明云的知识共享 2018-05-29
张明云的知识共享 2018-05-29