一、反爬策略:
1、请求头:
---user-agent
---referer
---cookie
2、访问频率限制。
---代理池
---再用户访问高峰期进行爬取,冲散日志。12-13 7-10
---设置等待时长。time.sleep(3)
3、ajax异步请求,用接口获取数据。
4、能一次性获取的数据,绝不发送第二次请求(获取数据的过程中尽量减少请求次数。)
能在列表页获取的数据,绝不进详情页。
5、页面内容是js代码。
selenium+phantomjs的组合进行页面内容的获取。
二、html页面的技术
1、js:
页面在请求html的过程中,服务器返回html,同时还会请求js文件。
2、jqery:js的库,方便js开发。
3、ajax:web的异步请求技术
同步请求,异步请求。
三、selenium和phantomjs
1、什么是selenium?
selenium一个web自动化测试工具。【但是它本身是不带浏览器】。这个工具其实就是作为一些外部工具驱动来使用的,可以控制一些外部应用来完成自动化测试。
2、phantomjs:他其实就是一个内置无界面浏览器引擎。--无界面可以提高程序运行速度。
因为phantomjs是一个浏览器引擎,所以他最大的功能就是执行页面的js代码。
3.安装selenium和phantomjs?
selenium安装:pip install selenium==2.48.0
phantomjs安装:百度phantomjs镜像--->下载一个Windows版本的————>phantomjs-2.1.1-windows.zip
可视化的chrome浏览器插件:---chromedriver安装:
下载:百度:chromedriver镜像
(1)保证chrome是正版。
(2)查看自己chrome的版本号:73.0.3683.86
(3)找一个和自己版本号最接近的版本下载。
将下载好的exe文件复制到:C:\Anaconda3\Scripts
文档:selenuim常用方法总结.note
链接:http://note.youdao.com/noteshare?id=0142a95cf23fadbaea95809ccb5674b2&sub=02896A50836E4995997A821419D9A063