1.爬虫是获取数据的一种方式,通常方法是请求目标url获取html页面,使用xpath或者cssselector等抽取html标签中的数据。但是面对很多反扒的网站,这个种方法会失效。
常用反扒方法:
1.js动态加载数据
2.每次请求动态将sessionid写入cookie,再次请求携带cookie中的参数
3.记录请求ip地址,限制请求ip请求频率
如何破解:
1.关于js加载数据:使用selenium phantomjs模拟真实用户加载数据。或者查看网站调用的api,直接模拟调用api获取数据
2.模拟真实用户,请求时模拟写入cookie,加入useragent等
3.控制请求频率,设置sleeptime ,或者使用代理服务器,维护一个Ip池,轮流使用
呃呃扯远了!
F12查看页面源代码,
ctrl+u是js动态加载数据之前的html页面,也是你通过url获取到的html内容,可能和你f12看到的数据不一样
F12后点击NetWork,可以看到页面加载时都调用了哪些接口,点击name列表中请求的url,可以查看header response等内容,可以用于分析接口如何调用,查看调用参数和返回数据
F12后点击elements,选中节点右击,可以copy xath,获取xpath语句
使用chrome应用商店,搜索xpath,安装一个xpath应用程序xpath helper
安装过后重新打开浏览器,输入想要解析的网页地址,点击右上角的应用程序(X)标志,即可输入xpath语句,看看右侧是不是正确结果