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, ...
最新文章
- 实验1 命令解释程序的编写
- R语言ggplot2可视化:ggplot2可视化分组散点图并使用geom_smooth函数在散点图图中为不同的散点簇添加对应的回归曲线
- ArcGIS为面要素生成邻接矩阵
- 【JavaSE_06】Java中的数组(array)-思维导图
- 乐迪机器人开热点_碧桂园餐饮机器人量产!预计年产能达4000台
- sqlserver复习总结
- Direct3D学习_绘制
- 10天内构建良好的REST API的指南
- python内嵌浏览器_内嵌web浏览器
- c4d在运行时候显示计算机内存不足,打开c4d电脑电脑卡死怎么办
- 百度贴吧客户端(Android)网络通信行为分析
- MGV2000_CW、JL、JZ、KA/KX、CNTV,零配置_S905L-B_全套固件(可救砖)
- 查看oracle数据库防火墙设置,用三个方法设置Oracle数据库穿越防火墙
- Spring基础----相关类
- @Value 读取yml 文件
- 每个程序员必知之SEO
- 百度SEO HTML5蓝色个人主页博客整站模板
- 原生js写一个简单的编辑器
- 什么是交换机,交换机的工作原理
- XENU常见问题及中文版英文版下载地址