为什么scrapy不使用随机代理下载器中间件?

时间:2018-12-27 13:39:15

标签: scrapy

我正在草率地使用the following library,以便通过旋转代理来请求IP的请求。

这大概已停止工作,而是使用了我的IP。因此,我想知道是否存在后备,或者是否不小心更改了配置。

我的设置如下:

DOWNLOADER_MIDDLEWARES = {
    'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
    'scrapy_fake_useragent.middleware.RandomUserAgentMiddleware': 400,

    'scrapy.downloadermiddlewares.retry.RetryMiddleware': 90,
    'scrapy_proxies.RandomProxy': 100,
    'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 110,
}
PROXY_LIST = '/Users/user/test_crawl/proxy_list.txt'
PROXY_MODE = 0

代理列表:

http://147.30.82.195:8080
http://168.183.187.238:8080

回溯:

[scrapy.proxies] DEBUG: Proxy user pass not found
2018-12-27 14:23:20 [scrapy.proxies] DEBUG: Using proxy 
<http://168.183.187.238:8080>, 2 proxies left
2018-12-27 14:23:20 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.example.com/file.htm> (referer: https://www.example.com)

未找到用户密码的DEBUG输出,应该可以,因为它表明我没有使用用户密码进行身份验证。

example.com服务器上的日志文件直接显示了我的IP,而不是代理IP。

这曾经有用,所以我想知道如何使其恢复工作。

1 个答案:

答案 0 :(得分:0)

scrapy-proxies期望代理服务器具有密码。 If the password is empty, it ignores the proxy

它可能会失败as it does when there are not proxies,但是它什么也不做,这导致没有配置代理,而是使用了IP。

我想说您应该在上游报告此问题,但是该项目似乎已经死了。因此,除非您愿意分担该项目并自己解决问题,否则您将很不走运。