1.反爬措施以及应对措施
(1)通过user-agent
客户端标识来判断是否是爬虫
解决:封装user-agent请求头
(2)通过访问的频率
来判断
解决:设置爬取的间隔
(3)封ip
解决:设置代理
(4)页面无法直接获取数据,显示的是js代码
解决:selenium+phantomjs可以获取页面数据
2.动态html页面的处理方法
(1)js
html是页面的骨架,css是装饰器,js是页面的灵魂
(2)jquery
jquery封装了js库,可以使js代码更加简洁
(3)ajax
web页面的异步请求,是一种技术
3.selenium+phantomjs的安装
定义:
selenium:他是web自动测试工具。
pantomjs:他是一个无界面的浏览器。所以他可以运行js代码,帮我们拿到页面数据。
所以selenium+phantomjs就可以解决页面是js代码的这种网站数据的获取问题。
(1)selenium和phantomjs的下载
selenium:
pip install selenium==2.48.0
phantomjs:
直接百度phantomjs的镜像(2.1.1)
注:选择这两个版本的原因是这两个版本比较稳定
(2)将这两个可执行文件放在Anaconda的scripts文件下
(3)下载chromedriver的镜像
注:要与自己的谷歌浏览器的版本对应