Скрапид с Полипо и Тором
ОБНОВЛЕНИЕ: я сейчас запускаю эту команду:
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.