scrapy中添加ip池的方法
scrapy中添加ip池的方法
我使用的是scrapy2.2
setting 中写下ip池
IPPOOL = [{'ipaddr':'221.230.72.165:80'},
{'ipaddr':'175.154.50.162:8118'},
{'ipaddr':'111.155.116.212:8123'},]
在在中间件midllewares添加代码
from mypython.settings import IPPOOLfrom scrapy import signals
from scrapy.downloadermiddlewares.httpproxy import HttpProxyMiddleware
# useful for handling different item types with a single interface
from itemadapter import is_item, ItemAdapter
import randomclass Ip_proxy(HttpProxyMiddleware):def __init__(self, ip=''):self.ip = ipdef process_request(self, request, spider):newip = random.choice(IPPOOL)print('ip为:'+ newip["ipaddr"])request.meta["proxy"] = "http://" + newip["ipaddr"]
random函数是随机获取ip池的ip
创建Ip_proxy类名字随意
在setting设置DOWNLOADER_MIDDLEWARES
类的名字没错就行
DOWNLOADER_MIDDLEWARES = {# 'youx.middlewares.MyCustomDownloaderMiddleware': 543,'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware':None,'mypython.middlewares.Ip_proxy': 125,}
mypython是创建scrapy的项目名(scrapy startproject mypython),大家根据自己的项目名修改。
setting 中写下ip池 IPPOOL=[]
也可以改为直接在中间件中间添加。
运行的结果
。。。
。。。
如果要写自动更新IP池 就要抓取ip,再导入中间件中,代理ip一般免费的都用不了,或者响应慢等一系列问题,一般都是买代理ip,一般都提供API接口。
scrapy中添加ip池的方法相关推荐
- pythonscrapy爬虫ip代理池_在Scrapy中使用IP池或用户代理(python3)
一.创建Scrapy工程 1 scrapy startproject 工程名 二.进入工程目录,根据爬虫模板生成爬虫文件 1 scrapy genspider -l # 查看可用模板2 scrapy ...
- python—简单数据抓取七(采取蘑菇API代理设置scrapy的代理IP池并利用redis形成队列依次使用,利用ip池访问网页并将scrapy爬取转移到items的数据存入到数据库)
学习目标: Python学习二十七-简单数据抓取七 学习内容: 1.采取蘑菇API代理设置scrapy的代理IP池并利用redis形成队列依次使用 2.利用ip池访问网页并将scrapy爬取转移到it ...
- Win11添加IP安全策略的方法
IP安全策略是一个给予通讯分析的策略,当我们配置好IP安全策略后,就相当于拥有了一个免费但功能完善的个人防火墙.相信还有很多用户不太清楚应该如何添加,对此今天小编将为大家分享Win11添加IP安全策略 ...
- 在(CListView)列表视图中添加右键菜单的方法
使用弹出式菜单(PopMenu) 弹 出式菜单(PopMenu)大家都熟悉,在WIN98的桌面上单击鼠标右键弹出的菜单就是弹出式菜单.通常情况下,弹出式菜单在鼠标右键单击时弹出,当 然,也可以根据需要 ...
- Android开发过程中在sh,py,mk文件中添加log信息的方法
Android开发过程中在sh,py,mk文件中添加log信息的方法 在sh文件中: echo "this is a log info" + $info 在py文件中: print ...
- python分发包_Python 分发包中添加额外文件的方法
在制作一个 Python 分发包时经常需要把一些文件添加到包中.最常见的例子是你希望通过 pip install命令安装 Python 包时会在 /etc/ 等目录下自动添加默认配置文件,由此可以让 ...
- php 什么函数获取ip,在PHP中获取ip地址的方法有哪些
在PHP中获取ip地址的方法有哪些 发布时间:2021-02-15 18:37:36 来源:亿速云 阅读:97 作者:Leah 这篇文章给大家介绍在PHP中获取ip地址的方法有哪些,内容非常详细,感兴 ...
- 如何在Eclipse中添加Servlet-api.jar的方法
方法一: 点击窗口->首选项->java->构建路径->类路径变量->新建: 将你的tomcat目录下的common/lib/servlet.jar加进来. 如果你建立了 ...
- Qt中添加背景图片的方法
Qt中添加背景图片的方法 QPalette的方法 #include #include int main(int argc, char *argv[]) { QApplication app(argc, ...
最新文章
- 服务器 上传文件 杀毒,一种实现文件上传网站后自动进行杀毒的方法及系统
- php中$GLOBALS
- 遭遇“长租杀熟”,95后蜗居的长租公寓未来也是“扑朔迷离”?
- TextBox字符串转换为数字类型
- 播放2 –模块,插件有什么区别?
- 【计算机系统设计】学习笔记(1)03,04
- php中设置文件权限的写法,php图片上传,如何设置文件权限
- 前端windows下常用的CMD 命令归纳
- web元件库、axure元件库、通用元件库、常用web组件、常用表单、框架、数据表单、导航栏、边框、图标、列表、日期时间选择器、评分组件、穿梭框、输入框、步骤条、图表组件、数据可视化、后台模板、时间轴
- Openstack M版快速配置(二)--刷数据库
- Ubuntu 16.04安装Caffe的记录及FCN官方代码的配置
- 海量Oracle学习视频分享
- 【强化学习】动态规划
- 实例分割最全综述(上):二阶段实例分割和一阶段实例分割
- matalab三维画图
- 国产单机《我的武林江湖》v1.1.159
- MIPI_DSI协议简要介绍
- dirbuster暴力破解工具
- 使用ffmpeg处理 视频文件中帧间时间戳异常、关键帧间隔异常
- opencv代码示例 -- 创建图片/Canny边缘检测
热门文章
- Vue学习笔记1---初识vue
- sap 标准委外和工序委外_委外加工-SAP的两种典型委外处理--方法.doc
- http://www.cppblog.com/wsy6634/archive/2009/05/16/83115.aspx?opt=admin
- python-科研绘图系列(4)-混淆矩阵图
- 单元测试框架 Mockito 注解 – @Mock, @Spy, @Captor, @InjectMocks
- Tampermonkey(油泼狓)插件的安装及使用
- PHP字体间距设置,div字间距-div内文字之间间距设置方法
- 微信公众号热门关键词的搜索排名规则
- 解压zip、rar、gz格式文件
- Anaconda3的安装教程(自用)