scrapy中使用讯代理动态转发
scrapy源代码中查找http11.py文件,相对路径为:
Lib/site-packages/scrapy/core/downloader/handlers/http11.py
找到下面内容,注释掉:
if isinstance(agent, self._TunnelingAgent):
headers.removeHeader(b'Proxy-Authorization')
否则proxy-authorization会被去除,动态转发失效。
自定义下载中间件:
class ProxyIPMiddleware(object):
'''
随机更换代理ip
'''
def __init__(self):
self.orderno = "xxxxxxxxxxxx" # 订单号
self.secret = "xxxxxxxxxxx" # 秘钥
def process_request(self,request,spider):
print('====ProxyIPMiddleware====')
protocal = request.url.split(':')[0].strip().lower()
print(request.url,'protocal:',protocal)
ip = "forward.xdaili.cn" # 代理ip
port = "80" # 端口号
ip_port = ip + ":" + port
proxy = {"http": "http://" + ip_port, "https": "https://" + ip_port}
timestamp = str(int(time.time())) # 时间戳
string = "orderno=" + self.orderno + "," + "secret=" + self.secret + "," + "timestamp=" + timestamp
md5_string = hashlib.md5(string.encode()).hexdigest() # md5哈希,得到固定长度的字符串
sign = md5_string.upper() # 转换成大写字母
# 认证信息
auth = "sign=" + sign + "&" + "orderno=" + self.orderno + "&" + "timestamp=" + timestamp
print('auth:',auth)
request.headers['Proxy-Authorization'] = auth
#HTTP代理,只代理HTTP网站,HTTPS代理,只代理HTTPS网站
request.meta['proxy'] = proxy[protocal]
scrapy中使用讯代理动态转发相关推荐
- python接入讯代理_scrapy中使用讯代理动态转发
scrapy源代码中查找http11.py文件,相对路径为: Lib/site-packages/scrapy/core/downloader/handlers/http11.py 找到下面内容,注释 ...
- scrapy中使用讯代理转发
scrapy源代码中查找http11.py文件,相对路径为: Lib/site-packages/scrapy/core/downloader/handlers/http11.py 找到下面内容,注释 ...
- python接入讯代理_scrapy添加讯代理 动态转发(Python3)
1. 先行条件 将scrapy源代码,相对路径为:Lib/site-packages/scrapy/core/downloader/handlers/http11.py的文件中, if isinsta ...
- http代理动态转发,什么是动态转发代理ip?
很多用户朋友用过比如飞蚁代理的代理IP就知道,在生成API链接后发现,返回的IP只有一个,端口却有很多个,不知道是什么原因,所以很多人会有疑问 .那么,什么是动态转发代理IP呢? 动态转发的意思是,您 ...
- 在Scrapy中使用爬虫动态代理IP
本文介绍如何在Scrapy中使用无忧代理(www.data5u.com)的爬虫动态代理IP,以及如何设置User-Agent. 动态转发参考https://blog.csdn.net/u0109787 ...
- Requests 和 Scrapy 中的代理 IP 设置
摘要: Requests 和 Scrapy 中的代理 IP 设置方法. 目标测试网页如下,请求该网页可以返回当前 IP 地址: ∞ http://icanhazip.com 先来说说 Requests ...
- Spring BPP中优雅的创建动态代理Bean
Spring BPP中优雅的创建动态代理Bean 一.前言 本文章所讲并没有基于Aspectj,而是直接通过Cglib以及ProxyFactoryBean去创建代理Bean.通过下面的例子,可以看出C ...
- 三十五、Scrapy 中的杂知识总结和代理池的编写
@Author:Runsen 上次 用scrapy爬了腾讯招聘网站,有两个job.json 和detail.json,针对一个item,其实有更简单的处理方法. 今天讲讲scrapy 中的杂知识,做一 ...
- Java中三种代理方式—— 静态代理与两种动态代理的实现机制
个人博客请访问 http://www.x0100.top 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现 ...
最新文章
- layui停止更新_layui 关闭当前窗口,刷新父级页面
- CentOS 6.3(x86_64)下安装Oracle 10g R2
- ScalaPB(4): 通用跨系统protobuf数据,sbt设置
- Tomcat——启动错误[A web application must be configured as privileged to be able to load it]解决方案
- 计算机软件工作总结,计算机软件培训总结及小结-工作总结
- 两个条件一个为false就运行_设置一个自动运行网格条件单
- 《.NET框架程序设计》第2章 第3章 读后感
- 不良事件总结怎么写_个人年终工作总结怎么写?
- 复杂度O(n)倒转链表
- 基于SQL Server策略的管理-更改时评估模式
- 数据结构(java版)学习笔记(二)——线性表之顺序表
- 加密软件不能安装软件
- 地图开发中用到的比例尺和分辨率
- Win10系统完全卸载52好压的方法
- 你们让我推荐的营销管理书籍找到了!
- 【prince2考试扫盲】Prince2 跟 pmp 有什么区别?项目经理考哪一个?详细解答来了
- 输入法公司Kika完成2.2亿B+轮融资 猎豹移动领投
- 程序员公司实行996,加班费却只有10块!网友:我们20块
- 2019牛客多校第六场 E Androgynos
- 梦幻哪个服务器最多牛人,梦幻西游:盘点经久不衰的十大火区!你所在的服务器是否上榜?...
热门文章
- 什么是金融租赁?什么是融资租赁?
- NEO4J环境变量设置及其安装使用
- Android常用UI
- Windows Server Core 2022 (一)安装
- 主板2个M. 2接口,哪个m2插槽是与CPU直连?总结不得不说PCIE知识
- windows自带应用变成灰色解决方案
- 打印计算机准考证显示用户名未设置,职称计算机准考证打印时间须知2019年9月...
- Hack The Box——Omni
- 《zw版·Halcon-delphi系列原创教程》 只有2行代码的超市收款单ocr脚本
- 暴走gif失落的出处_暴走gif表情包 - 暴走gif微信表情包 - 暴走gifQQ表情包 - 发表情 fabiaoqing.com...