索引

开源项目

如何通过 Scrapyd + ScrapydWeb 简单高效地部署和监控分布式爬虫项目

LogParser v0.8.0 发布:一个用于定期增量式解析 Scrapy 爬虫日志的 Python 库,配合 ScrapydWeb 使用可实现爬虫进度可视化

如何免费创建云端爬虫集群

时隔五年,Scrapyd 终于原生支持 basic auth

 

JS 分析

***** [JS 分析] 快速定位 JS 代码,还原被混淆压缩的 JS 代码

 

Scrapy

Scrapy 隐含 bug: 强制关闭爬虫后从 requests.queue 读取的已保存 request 数量可能有误

Scrapy 扩展中间件: 针对特定响应状态码,使用代理重新请求

Scrapy 扩展中间件: 同步/异步提交批量 item 到 MySQL

scrapy相关 通过设置 FEED_EXPORT_ENCODING 解决 unicode 中文写入json文件出现`\uXXXX`

scrapy 通过FormRequest模拟登录再继续

 

Django

Django DetailView 多重继承 关系整理

 

Scrapy_redis

scrapy_redis 相关: 查看保存的数据

scrapy_redis 相关: 将 jobdir 保存的爬虫进度转移到 Redis

scrapy_redis 相关: 多线程更新 score/request.priority

 

Scrapyd

Scrapyd 改进第一步: Web Interface 添加 charset=UTF-8, 避免查看 log 出现中文乱码

Scrapyd 改进第二步: Web Interface 添加 STOP 和 START 超链接, 一键调用 Scrapyd API

 

代理/登录/验证码

python 代理

python之cookie, cookiejar 模拟登录绕过验证

python之基于libsvm识别数字验证码

python之验证码识别 特征向量提取和余弦相似性比较

 

网页解析

lxml.etree.HTML(text) 解析HTML文档

Scrapy Selectors 选择器

CSS/Xpath 选择器 第几个子节点/父节点/兄弟节点

BeautifulSoup总结

pyspider和pyquery总结

 

编码

编码 ASCII, GBK, Unicode+utf-8

requests之headers 'Content-Type': 'text/html'误判encoding为'ISO-8859-1'导致中文text解码错误

阅读:

 

动态加载

scrapy相关:splash 实践

scrapy相关:splash安装 A javascript rendering service 渲染

selenium执行JavaScript语句:控制滚动条 聚焦元素 改变下拉选项

python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为

python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过autopy实现右键菜单和另存为操作

 

数据提取

python之re正则简单够用

HTML 中的预留字符(如标签的小于号 < )必须被替换为字符实体( &lt; )。 不间断空格(&nbsp;)

HTML转义字符&npsp;表示non-breaking space,unicode编码为u'\xa0',超出gbk编码范围?

python提取网页表格并保存为csv

python之使用 wkhtmltopdf 和 pdfkit 批量加载html生成pdf,适用于博客备份和官网文档打包

 

数据库

python之MySQL MySQLdb 推荐使用姿势,解决中文乱码

MongoDB 及 scrapy 应用

 

posted @ 2017-07-25 12:58  my8100  阅读(777)  评论(0编辑  收藏  举报