0
点赞
收藏
分享

微信扫一扫

如何解决单IP爬取网站的单IP受限问题

由于最近博导承接了一项国家科技项目,需要对大量的网站进行爬取,但是现在的很多网站都使用了反爬手段,比如限制一个session的不同网页的访问时间间隔,甚至更有甚者直接对IP地址也做了限制。对于限制session内访问的时间间隔我们只能采用多个session并行的方式,而无法减少访问时间间隔,但是对于限制IP的手段我们往往没有很好的解决方法,本文主要就是对于限制IP的反爬手段给出了一种解决方案。

 

本文对于限制IP的反爬手段给出的解决方案也是十分的简单的,但是也并不容易的,说白了就是使用多个vpn,或者说是使用一个vpn池。比如我正在使用的一个VPN:

如何解决单IP爬取网站的单IP受限问题_IP

可以看到这种的VPN其实提供的都是一个VPN主机池,这就是本文给出的方案,那就是用VPN主机池实现IP反爬的突防。比如,你这个VPN池一共有100个VPN主机,但是你同时可以连接8个客户端,那你就可以在8个局域网的主机上运行该VPN的客户端并开启局域网代理,然后其他的主机运行爬虫程序就可以将网络代理地址写为这8个局域网VPN客户端的主机地址。这样做还有一个问题,那就是如果这8个IP地址使用一段时间后被限制了,那么我们就需要换其他的8个VPN服务器IP地址,这是一个难题,不过这里我们可以使用linux端的VPN客户端来解决。我们可以在8个linux主机上开启集群管理服务,使用一键式的部署方式来解决,如果那个主机的连接的VPN服务器地址被限制,我们就远程ssh的方式替换掉对应的配置,使用下一个VPN服务器的地址,以此来实现快速的切换。甚至我们也可以用python写一个自动化的控制脚本来实现,不过这并不是重点。

 

本文的主要idea就是使用vpn代理的方式突破爬虫的IP限制,也就是使用VPN服务器代理池的方式来解决单IP受限的问题。不论是在高校实验室里面还是家里的光纤路由器其实都是共享IP,而无论是共享IP还是独立IP我们一般可以使用的往往都是单一的IP,一旦某个待爬取的网站对我们的现有IP进行限制我们就需要更换IP,而如何更换IP呢,最开始的想法是用手机的移动上网来共享网络,但是这样搞往往手机的上网费用会很高,这种费用往往在国家课题结项的时候进行报销,再一个就是手机网速往往又很慢,并且手机运营商就那几个,用手机共享网络会不会搞了几台手机号依旧出现IP受限的问题呢,这也是很不好说的,因此使用VPN服务器池的方式是目前能想到的最靠谱的方式了。

 

 

=====================================

 

举报

相关推荐

0 条评论