当抓取数据逐渐增大时,服务器的负荷会加大,会直接封掉来访IP:

采取措施:

  1.创建请求头部信息:

  

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.9 Safari/537.36'} #创建请求头
strhtml = requests.get(url,headers = headers); #使用GET方式,获取网页数据

  2.我们就只修改User-Agent还不够,爬虫1秒钟可以抓取很多图片,通过统计IP的访问频率,频率超过阈值,会返回一个验证码,如果是用户访问,用户就会填写继续访问,而代码访问就会被封IP,有两种解决方法:

  (1)增设延时 (耗时)

import time
time.sleep(3)#每3秒抓取1次

  (2)构建自己代理IP池

proxies = {
"http": "http://10.10.1.10:3128",
"https": "http://10.10.1.10:1080",
}
url="http://www.cntour.cn/" #需要爬取的网址
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.9 Safari/537.36'} #创建请求头
strhtml = requests.get(url,headers = headers,proxies=proxies);

爬虫防封IP的更多相关文章

  1. 封ip对爬虫的影响

    今天要聊的是封ip对爬虫的影响.我认为封ip能拒绝一部分网络请求,减轻服务器的压力,但是如果要是建立一个好的ip池,封对爬虫的影响不大. 爬取国内一个拍卖公司的网站,刚开始用多进程下载,每分钟能爬取 ...

  2. 如何建立自己的代理IP池,减少爬虫被封的几率

    如何建立自己的代理IP池,减少爬虫被封的几率 在爬虫过程中,难免会遇到各种各样的反爬虫,运气不好,还会被对方网站给封了自己的IP,就访问不了对方的网站,爬虫也就凉凉. 代理参数-proxies 首先我 ...

  3. Python爬虫防封杀方法集合

      Python爬虫防封杀方法集合     mrlevo520 2016.09.01 14:20* 阅读 2263喜欢 38       Python 2.7 IDE Pycharm 5.0.3 前言 ...

  4. Python爬虫突破封禁的6种常见方法

    转 Python爬虫突破封禁的6种常见方法 2016年08月17日 22:36:59 阅读数:37936 在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长.今天大众好像更倾向于用 ...

  5. 如何让你的scrapy爬虫不再被ban之二(利用第三方平台crawlera做scrapy爬虫防屏蔽)

    我们在做scrapy爬虫的时候,爬虫经常被ban是常态.然而前面的文章如何让你的scrapy爬虫不再被ban,介绍了scrapy爬虫防屏蔽的各种策略组合.前面采用的是禁用cookies.动态设置use ...

  6. 微信屏蔽APP分享链接的解决方案原理,剖析微信域名防封技术

    为什么很多商家在微信封域名如此严格的情况下,还会挤破头皮去做微信营销和推广呢?又有些人问,为什么别人的域名长时间推广都没事,自己的链接在微信内一推就被拦截呢?这里你可能需要注意一点事,事出无常必有妖. ...

  7. 识别User Agent屏蔽一些Web爬虫防采集

    识别User Agent屏蔽一些Web爬虫防采集 from:https://jamesqi.com/%E5%8D%9A%E5%AE%A2/%E8%AF%86%E5%88%ABUser_Agent%E5 ...

  8. python反爬之封IP

    # requests是第三方库,需要安装 pip install requests import requests # 在日常的爬虫中,封ip也是一个很常用的反爬虫手段,遇到这种情况,我们只需要在每次 ...

  9. 反爬虫之搭建IP代理池

    反爬虫之搭建IP代理池 听说你又被封 ip 了,你要学会伪装好自己,这次说说伪装你的头部.可惜加了header请求头,加了cookie 还是被限制爬取了.这时就得祭出IP代理池!!! 下面就是requ ...

随机推荐

  1. 695. Max Area of Island最大岛屿面积

    [抄题]: 求最多的联通的1的数量 Given a non-empty 2D array grid of 0's and 1's, an island is a group of 1's (repre ...

  2. 15-I hate it (HDU1754:线段树)

    http://acm.hdu.edu.cn/showproblem.php?pid=1754     相似例题:  敌兵布阵  http://www.cnblogs.com/zhumengdexiao ...

  3. SpringBoot与Shiro的整合(单体式项目)

    1.包结构 2.jar包,配置文件,类 2.1pom.xml文件配置 <?xml version="1.0" encoding="UTF-8"?> ...

  4. Linux hostname主机名配置文件与文件 /etc/hosts解析(copy来的,原作者看到了别打我)

    1.关于/etc/host,主机名和IP配置文件 Hosts - The static table lookup for host name(主机名查询静态表) hosts文件是Linux系统中一个负 ...

  5. myeclipse10.X以上的破解方法

    破解补丁下载地址:http://pan.baidu.com/s/1dDzVP3z 本文使用的破解补丁对MyEclipse Standard/ Professional/ Blue/ Spring的10 ...

  6. static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较

    隐式转换(implicit conversion) ; int b; b=a; short是两字节,int是四字节,由short型转成int型是宽化转换(bit位数增多),编译器没有warning,如 ...

  7. HDU 6096 String (AC自动机)

    题意:给出n个字符串和q个询问,每次询问给出两个串 p 和 s .要求统计所有字符串中前缀为 p 且后缀为 s (不可重叠)的字符串的数量. 析:真是觉得没有思路啊,看了官方题解,真是好复杂. 假设原 ...

  8. 代码审查清单 Code Review

    代码审查清单 常规项 代码能够工作么?它有没有实现预期的功能,逻辑是否正确等. 所有的代码是否简单易懂? 代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注 ...

  9. up7.1-asp.net-本地测试教程

    1.1. ASP.NET 框架:.NET Framework 4.5 依赖库:csredis,Newtonsoft.Json   安装redis 下载 redis-x64:http://pan.bai ...

  10. Open Type vs Open resource

    Open Type 可查询所有java 类型,包括.java .class Open Resource 只能打开 .java 等 ,不能打开 .class 相同点 都可以使用 ? * 通配符