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

可以看到这种的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服务器池的方式是目前能想到的最靠谱的方式了。
=====================================
如何解决单IP爬取网站的单IP受限问题的更多相关文章
- requests 使用免费的代理ip爬取网站
import requests import queue import threading from lxml import etree #要爬取的URL url = "http://xxx ...
- Python 利用 BeautifulSoup 爬取网站获取新闻流
0. 引言 介绍下 Python 用 Beautiful Soup 周期性爬取 xxx 网站获取新闻流: 图 1 项目介绍 1. 开发环境 Python: 3.6.3 BeautifulSoup: ...
- python爬取高匿代理IP(再也不用担心会进小黑屋了)
为什么要用代理IP 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人 ...
- 使用scrapy爬取网站的商品数据
目标是爬取网站http://www.muyingzhijia.com/上全部的商品数据信息,包括商品的一级类别,二级类别,商品title,品牌,价格. 搜索了一下,python的scrapy是一个不错 ...
- 利用linux curl爬取网站数据
看到一个看球网站的以下截图红色框数据,想爬取下来,通常爬取网站数据一般都会从java或者python爬取,但本人这两个都不会,只会shell脚本,于是硬着头皮试一下用shell爬取,方法很笨重,但旨在 ...
- 如何使用robots禁止各大搜索引擎爬虫爬取网站
ps:由于公司网站配置的测试环境被百度爬虫抓取,干扰了线上正常环境的使用,刚好看到每次搜索淘宝时,都会有一句由于robots.txt文件存在限制指令无法提供内容描述,于是便去学习了一波 1.原来一般来 ...
- python 实现爬取网站下所有URL
python3 实现爬取网站下所有URL 获取首页元素信息: 首页的URL链接获取: 遍历第一次返回的结果: 递归循环遍历: 全部代码如下: 小结: python3.6 requests && ...
- Python脚本爬取网站美女照片
上次无意之中看到一个网站,里面全是美女的照片,我就心想,哪天有时间了得把这网站的所有美女照片都得爬下来.今天有时间,写了点代码,爬去了网站的所有照片.附上战果!图片实在是太多了,爬半个多小时 先附上所 ...
- 【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xa)的解决方法【华为云分享】
[写在前面] 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\ ...
- C# 关于爬取网站数据遇到csrf-token的分析与解决
需求 某航空公司物流单信息查询,是一个post请求.通过后台模拟POST HTTP请求发现无法获取页面数据,通过查看航空公司网站后,发现网站使用避免CSRF攻击机制,直接发挥40X错误. 关于CSRF ...
随机推荐
- linux日志查询less及堡垒机查询日志方法
方法1tail -f orderFile.log | grep "关键字" postman接口请求的时候,关注控制台对关键字过滤的打印输出. 方法2less 文件名称/ 关键字n ...
- 【UnityTips】如何自定义脚本模版
[UnityTips]如何自定义脚本模版 通常我们创建新脚本时大家看到的是这个样子: using System.Collections; using System.Collections.Generi ...
- EyeLink 1000 plus(桌面式)眼动仪使用指导
一.简介 眼动追踪是测量眼睛运行的过程.眼动追踪研究的最关注的事件是确定人类或者动物看的地方(比如:"注视点"或"凝视点").更准确来说是通过仪器设备进行图像处 ...
- UIButton选择状态下长按时会变回原始状态
问题大概就像这样 (请无视那红字) 一般而言这是高亮状态的设置有所缺乏.完善代码如下: [_pupilBtn setImage:[UIImage imageNamed:@"a1"] ...
- Java常用的十大开源工具类库总结
以下是个人总结的Java常用的十大开源工具类库,根据具体需求和项目,可以选择合适的工具类库来提高开发效率.1. Apache Commons:Apache Commons是一个开源的工具类库,提供了大 ...
- ASP.NET Core使用Hangfire定时发布文章
ASP.NET Core使用Hangfire实现定时任务 前言 也是上了5天班,终于迎来了休息,抽空更新下博客,然后就是下周一公司会对我进行考核,希望考核能通过吧!!! 然后我想给博客添加一个定时发布 ...
- 案例分享!RK3568 + FPGA多通道AD采集处理与显示
案例展示 测试数据汇总 表 1 本文带来的是基于瑞芯微RK3568J + 紫光同创Logos-2的ARM + FPGA多通道AD采集处理与显示案例. 本次案例演示的开发环境如下: Wind ...
- 嵌入式工业开发板基础测试手册——基于NXP iMX6ULL开发板(1)
前 言 本文档适用开发环境: Windows开发环境:Windows 7 64bit.Windows 10 64bit 虚拟机:VMware15.1.0 Linux开发环境:Ubuntu18.04.4 ...
- 面试官:JVM调优,主要针对是哪一个区域?JVM内存结构是怎样的?
作为一个Java程序员,在日常的开发中,不必像C/C++程序员那样,为每一个内存的分配而操心,JVM会替我们进行自动的内存分配和回收,方便我们开发.但是一旦发生内存泄漏或者内存溢出,如果对Java内存 ...
- python 转换PDF 到 EPS
from win32com.client.dynamic import ERRORS_BAD_CONTEXT as ebc from win32com.client import DispatchEx ...