常见的反爬策略及解决方案

常见的反爬策略及解决方案

常见的反爬策略及解决方案

网络爬虫技术是指按照一定的规则,自动地抓取万维网信息的技术。爬虫一般分为数据采集,处理,储存三个部分。

一般网站从三个方面反爬虫:a.用户请求的Headers;b.用户行为;c.网站目录和数据加载方式。大多数网站都从a、b来反爬虫。一些应用ajax的网站会采用c,增大了爬取的难度(防止静态爬虫使用ajax技术动态加载页面)。

1.最常见的反爬虫策略——用户请求的Headers。

解决方法:伪装header。

大部分网站都会对用户请求头Headers的User-Agent进行检测,部分网站会对Referer进行检测。对于这类反爬可以直接在代码中添加Headers,将浏览器的User-Agent复制到代码的Headers中;

或者将Referer值修改为目标网站域名。修改或者添加Headers就能很好地绕过检测Headers的反爬。
快代理 获取UA

2.基于用户行为反爬虫

部分网站是通过检测用户行为反爬,例如同一IP短时间内多次访问某个页面,或者同一账户短时间内进行多次相同操作。

解决方法:

  1. 对于“同一IP短时间内多次访问某个页面”的情况,使用IP代理就可以解决。也可以先爬取网上免费的代理ip,检测后将可用的ip全部保存起来。这样以后可以有规律地更换ip进行爬虫(如:每请求几次更换一个ip);

  2. 对于“同一账户短时间内进行多次相同操作”的情况,可以在每次请求后随机间隔一定时间再进行下一次请求。

爬虫推荐:
私密代理 规格丰富,覆盖爬虫工作者需求场景;
私密代理-集中提取
隧道代理 自动转发IP,无需手动提取代理IP,多个转发周期供您选择。
隧道代理-自动切换ip
另外个人中心可以实时监控IP使用情况(IP使用统计、并发、带宽、报错分析等等);
个人中心
联系客服了解详情并领取4小时免费试用。

3.动态页面的反爬虫

上述的几种情况多是静态页面,对于另一部分网站是需要通过ajax请求得到我们需要爬取的数据。

解决方法:Selenium+PhantomJS

Selenium:自动化web测试解决方案,完全模拟真实的浏览器环境,完全模拟基本上所有的用户操作;

PhantomJS :一个没有图形界面的浏览器。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值