爬虫的方法总结:
爬虫的本质是网络请求和数据处理。
1、手机端优先PC端 (酌情)
2、接口数据优先网页源代码数据(酌情)
-
1、pc端爬取:headers cookies IP time.sleep(),scrapy+request、selenium 与splash
-
2、手机端爬取:主要方向App ,微信小程序入手较容易 headers cookies time.sleep()
-
3、pc端爬虫与手机端爬虫相结合,F12电脑转为手机端,数据的两相结合减小爬虫的难度
-
4、在上述任意方向爬取数据,如果是有特殊的数据要求,如:在某网站列表页中,要求以评论数或者购买量亦或者价格、点击量来排序,我们需要先进行手动的点击操作来查看是触发了怎样的请求,get请求变化的是url,可直接通过改变url来进行爬取,post请求是需要找寻post了怎样的数据,将此数据带入data,带着此data数据来请求url。于此完成了在开始的对数据的多要求。
-
5、工具:fiddler charles
-
6、selenium :selenium 的xpath解析,下载整个渲染后的页面再使用正则re或者xpaht解析、获取cookies传递给速度更快的爬虫
-
7、上述的任何方法,不论是请求亦或是解析,都可结合使用。外网有许多是可以不用代理直接访问,需要代理的再使用代理。
-
8、只要跟 网络请求 有关的一切web http https 都属于requests或者urllib2的范围
-
9、面向过程:xpath 。面向对象:bs手段
正则: 掌握大量表达式 性能效率最高
xpath : 树形结构 适中 lxml
bs4 : 标签 class id 最低 bs4对象 耗时 document
针对反爬:UA要有UA池、IP要有IP池
- UA: 第三方库 fake_useragent
- IP:
- 爬取免费的ip代理,测试可用便存储,每一次使用也要先进行测试,可用再使用
- 买ip
Cookie : 在爬虫spider中的作用相当于:登录成功以后得访问身份标识、万能钥匙。