一。前言
一般而言。抓取稍微正规一点的网站。都会有反网络爬虫的制约。反网络爬虫主要有以下几种方式:
根据UA判断。这是最低级的判断。一般反网络爬虫不会用这个做唯一判断。因为反反网络爬虫非常容易。直接随机UA即可解决。
根据单IP频繁访问判断。这个判断简单。而且反反网络爬虫比较费力。反网络爬虫绝佳方案。需采用多IP抓取。
根据Cookie判断。例如根据会员制账号密码登陆。判断单账号短时间抓取次数判断。这个反反网络爬虫也很费力。需采用多账号抓取。
动态页面加载。这个考验前端工程师的功底。假如前端写的好。各种JS判断。各种逻辑。像百度。淘宝一样。post登录很难。较好的方法。但是对于大牛。还是防不胜防。反反网络爬虫多采用渲染浏览器抓取。效率低下。
采用验证码。这里要不是登录的时候有验证码。要不是判断是网络爬虫时。不封IP。而是采用验证码验证。例如链家网。验证码是反网络爬虫性价比较高的方案。反反网络爬虫一般接入OCR验证码识别平台或是人工打码平台。亦或是利用Tesseract OCR识别。亦或是采用神经网络训练识别验证码等。
二。概要
今天咱们先主要来讲一讲。如何应对第2条的反反网络爬虫。如何根据多IP抓取。根据多IP网络爬虫。又分为以下几种形式:
根据ADSL拨号换IP服务器。每拨一次就会有一个新IP。较好解决IP单一问题。
假如是局域网。带路由器的。第一种方法可能不好用。这个时候可以模拟登陆路由器。控制路由器重新拨号。换IP。这其实是一种折中的办法。曲线救国。
代理IP。利用购买的或是网上抓取的免费代理IP。实现多IP网络爬虫。
分布式网络爬虫。采用多个服务器。多个IP。多个slave网络爬虫同时运行。由master负责调度。效率较高。属于大型分布式抓取。一般用redis分布式抓取。不表。
最近了解到一种新的加密的代理网络。Tor匿名网络。利用这个也能匿名换IP。这个还没有详细了解。不表。
三。正文
1. ADSL拨号
我一般是在windows平台ADSL拨号。其他平台暂时没用过。windows平台拨号。我一般用python的代码为:
2. 路由器拨号
假如是局域网。带路由器的。直接调用windows的rasdial命令无法拨号时。这个时候可以模拟登陆路由器。控制路由器重新拨号。换IP。这其实是一种折中的办法。曲线救国。下面以登录小米路由器示例:
利用这个方法。就实现了用路由器换IP的目的。该方法的缺陷也是很明显的。就是不像第一种方法那样通用。基本上一个路由器就得编一套代码。属于定制代码。
3. 代理IP
代理IP是最常见的一种多IP网络爬虫方法。在请求Headers中加入代理IP地址。即可实现代理IP抓取。缺陷是爬取速度和代理IP的速度息息相关。而且好的IP费用较高。免费的速度普遍不高。
附上requests抓取携带代理IP和selenium抓取携带代理IP的代码。
requests:
selenium:
四。尾言
本文主要讲了反网络爬虫的一些概念。常用的方法。反反网络爬虫的一些方法。并且主要介绍了多IP网络爬虫的实现方式。属于网络爬虫领域基础内容。掌握了这些基础内容。以后网络爬虫步伐才能迈得坚实。
渲大师提供动态拨号vps。动态IP拨号。动态vps。动态IP拨号服务器。动态秒换IP。ADSL拨号服务器等。有大陆。美国。香港。日本。韩国。菲律宾。新加坡等!适用于网络营销。数据抓取。数据分析。刷单。投票等领域。需要的朋友请联系渲大师客服!
本文地址:https://gpu.xuandashi.com/38018.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!