将ip池添加到scrapy的方法使用的是scrapy2.2
在setting中写ip池
ippool={ ' IP addr ' 3360 ' 221.230.72.165336080 ' },{ ' IP addr ' 3360 ' 175.154.50.162:8118 ' },{ ' IP addr
frommypython.settingsimportippoolfromscrapyimportsignalsfromscrapy.downloadermiddlewares.httpproxyimporthttproxymidlewarewares temtypeswithasingleinterfacefromitemadapterimportis _ item,itemadapterimportrandomclassip _ proxy (httpproxymidleware ) ip=' ' ) :self.IP=spider ) : new IP=random.choice (ippool ) print(IP为' newIP('IPaddr ' ) ) requeses
您可以自由创建Ip_proxy类名
在setting中设置DOWNLOADER_MIDDLEWARES
班的名字没错
downloader _ middleware s={ # ' youx.middleware s.mycustomdownloadermiddleware ' :543,' scrapy.downloadermidlermidleware
在setting中写为ip池IPPOOL=[]
相反,也可以直接添加到中间材料之间。
执行的结果。
要写自动更新IP池,必须捕获IP并将其部署到中间件中。 代理IP通常不能免费使用或响应缓慢等一系列问题,通常是购买代理IP并提供API接口。