Скрапид с Полипо и Тором

ОБНОВЛЕНИЕ: я сейчас запускаю эту команду:

scrapyd-deploy <project_name>

И получаю эту ошибку:

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

Я пытаюсь развернуть моего паука-скрапа с помощью scrapyd-deploy, вот команда, которую я использую:

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 с прокси Polipo на порту 'http://localhost:8123', Я могу выполнить wget и скачать эту страницу без проблем. Прокси работает правильно, могу подключиться к интернету и тд. Пожалуйста, спросите, если вам нужно больше разъяснений.

Спасибо!

4 ответа

Решение

Видимо, это потому, что я забыл запустить основную команду. Его легко пропустить, потому что он упоминается на странице обзора документации, а не на странице развертывания. Ниже приведена команда:

scrapyd

urllib2.HTTPError: Ошибка HTTP 404: не найдена

URL не достигнут.

Что-нибудь интересное в /var/log/polipo/polipo.log? Что происходит от tail -100 /var/log/polipo/polipo.log?

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

Вы просите Полипо подключиться к localhost:8123; Polipo передает запрос tor, который возвращает результат сбоя, который должным образом возвращается Polipo ("Общий сбой сервера SOCKS").

url = http://localhost:8123

Это, конечно, не то, что вы имели в виду.

http_port = 8123

Я также уверен, что вы не хотели запускать scrapyd в том же порту, что и Polipo.

Другие вопросы по тегам