【问题标题】:Scrapyd with Polipo and TorScrapyd 与 Polipo 和 Tor
【发布时间】:2014-06-13 13:23:10
【问题描述】:

更新:我现在正在运行这个命令:

scrapyd-deploy <project_name>

得到这个错误:

504 Connect to localhost:8123 failed: General SOCKS server failure

我正在尝试通过scrapyd-deploy部署我的scrapy spider,以下是我使用的命令:

scrapyd-deploy -L <project_name>

我收到以下错误消息:

    Traceback (most recent call last):
  File "/usr/local/bin/scrapyd-deploy", line 269, in <module>
    main()
  File "/usr/local/bin/scrapyd-deploy", line 74, in main
    f = urllib2.urlopen(req)
  File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 410, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 448, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not found

以下是我的 scrapy.cfg 文件:

[settings]
default = <project_name>.settings

[deploy:<project_name>]
url = http://localhost:8123
project = <project_name>
eggs_dir    = eggs
logs_dir    = logs
items_dir   = items
jobs_to_keep = 5
dbs_dir     = dbs
max_proc    = 0
max_proc_per_cpu = 4
finished_to_keep = 100
poll_interval = 5
http_port = 8123
debug       = on
runner      = scrapyd.runner
application = scrapyd.app.application
launcher    = scrapyd.launcher.Launcher

[services]
schedule.json     = scrapyd.webservice.Schedule
cancel.json       = scrapyd.webservice.Cancel
addversion.json   = scrapyd.webservice.AddVersion
listprojects.json = scrapyd.webservice.ListProjects
listversions.json = scrapyd.webservice.ListVersions
listspiders.json  = scrapyd.webservice.ListSpiders
delproject.json   = scrapyd.webservice.DeleteProject
delversion.json   = scrapyd.webservice.DeleteVersion
listjobs.json     = scrapyd.webservice.ListJobs

我正在运行 tor 和 polipo,在端口 'http://localhost:8123' 上使用 polipo 代理。我可以毫无问题地执行 wget 并下载该页面。代理正常工作,我可以连接到互联网等等。请询问您是否需要更多说明。

谢谢!

【问题讨论】:

    标签: scrapy tor scrapyd polipo


    【解决方案1】:

    urllib2.HTTPError:HTTP 错误 404:未找到

    没有到达网址。

    【讨论】:

    • 是的,我知道这一点。这就是我要解决的问题。
    【解决方案2】:

    /var/log/polipo/polipo.log 有什么有趣的吗? tail -100 /var/log/polipo/polipo.log 是什么来的?

    【讨论】:

    • 没什么意思,只有以下消息:无法解析 ETag。不支持的 Cache-Control 指令检查后 -- 忽略。
    【解决方案3】:

    显然这是因为我忘了运行主命令。很容易错过,因为它在文档的概述页面中提到,而不是部署页面。以下是命令:

    scrapyd
    

    【讨论】:

      【解决方案4】:
      504 Connect to localhost:8123 failed: General SOCKS server failure
      

      您要求 Polipo 连接到localhost:8123; Polipo 将请求传递给 tor,tor 将返回失败结果,由 Polipo 尽职尽责地返回(“一般 SOCKS 服务器故障”)。

      url = http://localhost:8123
      

      这肯定不是你的意思。

      http_port = 8123
      

      我也很确定你不想在与 Polipo 相同的端口上运行 scrapyd。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-12
        • 2016-09-13
        • 1970-01-01
        • 1970-01-01
        • 2017-12-14
        • 1970-01-01
        相关资源
        最近更新 更多