- requests bs4 lxml直接获取并解析html数据
- 抓包ajax请求,使用requests获取并解析json数据
- 反爬严重的网站,使用selenium爬取
- 设置代理
a.urllib/requests/selenium chrome/selenium phantomjs设置代理
b.爬取免费代理网站中的免费代理IP存入redis做代理池,并定期提取检测(访问目标网站),使用flask搭建网站,从redis返回随机代理IP(不适合商用)
c.多台ADSL拨号主机安装tinyproxy做代理,定时拨号获取自己的IP存入远程redis做代理池,使用flask搭建网站,从redis返回随机代理IP(爬取天眼查/IT桔子/搜狗微信)
d.收费代理IP(爬取天眼查/IT桔子/搜狗微信)
- cookie池
- 爬取APP: a.charles/fiddler/wireshark/mitmproxy/anyproxy抓包,appium自动化爬取APP b.mitmdump对接python脚本直接处理,appium自动化爬取APP
- pyspider框架爬取
- scrapy/scrapy-redis/scrapyd框架分布式爬取
- 验证码: a.极验验证:selenium呼出验证码图案、截图,PIL对比色差、算出位置,selenium匀加速 匀减速模拟人类拖动并验证 b.微博手机版:selenium呼出验证码图案、截图,制作图像模板,selenium呼出验证码图案、截图,使用PIL将截图与图像模板对比色差,匹配成功后按照模板名字中的数字顺序使用selenium进行拖动并验证 c.接入打码平台,selenium呼出验证码图案、截图,发送到打码平台,平台返回坐标,selenium移动到坐标并点击并验证