Scrapy添加代理验证

简介: Scrapy添加代理验证

middlewares.py

from w3lib.http import basic_auth_header

class CustomProxyMiddleware(object):
    def process_request(self, request, spider):
        request.meta['proxy'] = "https://<PROXY_IP_OR_URL>:<PROXY_PORT>"
        request.headers['Proxy-Authorization'] = basic_auth_header(
            '<PROXY_USERNAME>', '<PROXY_PASSWORD>')

settings.py

DOWNLOADER_MIDDLEWARES = {

'<PROJECT_NAME>.middlewares.CustomProxyMiddleware': 350,
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 400,
}

问题

1、如果代理验证设置不对,状态码会返回407

407 Proxy Authentication Required

刚开始采用以下格式配置,发现部分请求可以发送,不过会有一个重试,部分请求直接报错

request.meta['proxy'] = "https://&lt;PROXY_USERNAME>:<PROXY_PASSWORD>@<PROXY_IP_OR_URL>:<PROXY_PORT>"

正确的设置是在请求头中设置 Proxy-Authorization


参考

  1. Using a custom proxy in a Scrapy spider
  2. Proxy-Authorization
            </div>
目录
相关文章
|
6天前
|
数据挖掘 API 数据安全/隐私保护
python请求模块requests如何添加代理ip
python请求模块requests如何添加代理ip
|
10天前
|
数据采集 存储
4个步骤:如何使用 SwiftSoup 和爬虫代理获取网站视频
本文介绍了如何使用SwiftSoup库和爬虫代理技术抓取网站视频资源。通过安装SwiftSoup、获取HTML内容、解析HTML以提取视频链接,以及设置爬虫代理来绕过访问限制,可以实现高效、灵活的视频资源获取。示例代码展示了一个完整的过程,包括下载并存储视频文件到设备。结合这两种技术,可以有效应对网站访问挑战,方便地获取互联网视频资源。
4个步骤:如何使用 SwiftSoup 和爬虫代理获取网站视频
|
11月前
|
数据采集 Python
python爬取数据中的headers和代理IP问题
python爬取数据中的headers和代理IP问题
|
数据采集 搜索推荐 前端开发
海外http代理中的api代理是什么意思?使用方法有哪些?
ip代理在互联网工作中是常见的,而apiip代理是ip代理的一种类型,使用时需要生成api链接。在这篇文章中,我将详细介绍api是什么,api代理又是什么,并且提供使用api代理的方法和步骤。
310 0
SoapUI 访问代理设置
SoapUI 访问代理设置
130 0
|
Python
Scrapy添加代理验证
Scrapy添加代理验证
69 0
|
JavaScript 前端开发 网络安全
BurpSuite2021 -- 代理模块(Proxy)
BurpSuite2021 -- 代理模块(Proxy)
124 0
BurpSuite2021 -- 代理模块(Proxy)
Python之scrapy的post请求、日志和代理
Python之scrapy的post请求、日志和代理
Python之scrapy的post请求、日志和代理
|
Python
Requests 和 Scrapy 添加动态IP代理
Requests 和 Scrapy 添加动态IP代理
332 0
|
数据采集 JSON API
新手教程 | Python Scrapy框架HTTP代理的配置与调试
做过python爬虫的都知道,HTTP代理的设置时要在发送请求前设置好,那HTTP代理的逻辑点在哪里呢?实际上,只需要在Scrapy 的项目结构中添加就好
新手教程 | Python Scrapy框架HTTP代理的配置与调试