帮助中心

   

热门搜索: 免费续期  推广  永久会员

代理IP反爬虫技术总结

有爬虫的存在,就有反爬虫的阻挡,两方一直在做抗衡,不断更新互相的招式。下面迅联加速为大家介绍包含代理IP在内的开发者常用网页反爬方法。

 

通过User-Agent来控制访问:

 

无论是浏览器还是爬虫程序,在向服务器发起网络请求的时候,都会发过去一个头文件:headers 这里面的大多数的字段都是浏览器向服务器”表明身份“用的。

 

对于爬虫程序来说,最需要注意的字段就是:User-Agent

 

很多网站都会建立 user-agent白名单,只有属于正常范围的user-agent才能够正常访问。

 

解决方法:

 

1、在发送请求时使用该网站user-agent白名单的的UA

 

2、可以使用python的第三方模块fake_useragent 随机生成UA,需手动安装

 

 

代理IP反爬虫技术总结
  JS渲染:

 

采用JS渲染页面。什么意思呢,就是返回的页面并不是直接请求得到,而是有一部分由JS操作DOM得到,所以那部分数据我们也拿不到咯。

 

解决方法:

 

1、可以使用Phantomjs模拟浏览器请求返回渲染完JS的页面

 

2、通过抓包抓取JS渲染的数据(不推荐)

 

cookie:

 

通过cookie限制抓取信息,比如我们模拟登陆之后,想拿到登陆之后某页面信息,千万不要以为模拟登陆之后就所有页面都可以抓了,有时候还需要请求一些中间页面拿到特定cookie,然后才可以抓到我们需要的页面。

 

解决方法:

 

1、通过浏览器的F12查看器,观察具体整个过程都请求了哪些URL(主要包括HTML、JS、XHR),挨个试,试到成功为止。

 

最为经典的反爬虫策略当属“验证码”了。因为验证码是图片,用户登录时只需输入一次便可登录成功,而我们程序抓取数据过程中,需要不断的登录,比如我们需要抓取1000个用户的个人信息,则需要填1000次验证码,而手动输入验证码是不现实的,所以验证码的出现曾经难倒了很多网络爬虫工程师。

 

解决方法:

 

分析网站验证码机制,从网站后台或者前端获取验证码(文本形式),该方法只适用于少量网站,因为一般验证码我们很难拿到。

 

利用图像识别技术,识别验证码文本(例如最近比较火的深度学习Tensorflow等)。

 

往往一些网站不只有pc端,还有手机端网站,很有可能手机端是不包含验证码的。所以不妨试试手机端网站,也许会有意外收获。

 

IP限制:

 

另外一种麻烦的反爬虫策略当属封ip和封账号了。曾经用一台机器抓取拉钩,导致短时间内账号被封,IP被封,所以遇到类似问题一定要多加小心。

 

解决方法:

 

最简单的解决办法:限制程序抓取频率,每隔几秒登录一次(如果对抓取数量没有要求,则可以采用这种方法,如果想抓取大量数据,那就要浪费很多时间)。所以建议使用代理IP去解决,能够提高效率,稳定也有保证。

 

关闭
0797-8539189
关注微信公众号,免费送2小时时长