本文分为两部分:
一、HTTP代理的逻辑
做过python爬虫的都知道,HTTP代理的设置时要在发送请求前设置好,那HTTP代理的逻辑点在哪里呢?实际上,只需要在Scrapy 的项目结构中添加就好,具体代码如下:
每个 Downloader Middleware 定义了一个或多个方法的类,核心的方法有如下三个:
1.process_request(request, spider)
2.process_response(request,response, spider)
3.process_exception(request, exception, spider)
找到 setting.py 文件中的这块区域
这部分需要修改,也就是取消注释,加上刚刚写的Middleware 类的路径
这样,我们就配置好了一个简单的HTTP代理,此时来到httpProxyIp.py 这个文件, 这个文件是我通过命令 scrapy genspider httpProxyIp icanhazip.com 生成的,创建成功内容如下:
修改一下,最终代码如下所示:
以上,就完成了Scrapy代理的设置和验证调试。
PS:icanhazi是一个显示当前访问者ip的网站,可以很方便用来验证scrapy的HTTP代理设置是否成功。
二、如何配置动态的HTTP代理?
免费的可用率太低了,我用的是青果网络提供的服务。在控制台那可以获取台哦是工具,可以直接线上简单对接调试,测试HTTP代理资源替换、释放和通道配额等信息。
1.请求方式
请求方式包括POST和GET,默认POST请求,根据自己的需求选择;右侧网址则是接口网址完整信息,包括选择的key、接口方法等参数信息。
2.key
key为必选项,是对接接口的必要信息。key的选择根据登录状态不同,可操作性不同。未登录时,需手动输入key值,已登录时,可下拉选择已购买的代理业务key,key信息附带业务资源配置和业务备注信息,方便辨别业务。
未登录状态:
已登录状态:
3.接口方法
接口方法主要是选择要调试的接口类型,包括资源相关、IP白名单、信息查询三大模块,各个接口说明详情如下图:
4.参数类型
调试工具中各个参数根据不同的接口类型对应显示,各个参数有不同的含义,详情如下:
5.结果参数说明
点击“测试”,右侧文本框区域显示接口请求结果,返回结果参数说明:
部分转载自: https://www.lsjlt.com/news/160957.html
领取专属 10元无门槛券
私享最新 技术干货