Настройки Scrapy Splash: SPLASH_URL

У меня есть рабочий экземпляр scrapy splash spider на моем ПК. Затем я перенес его на свой Linux-сервер. Паук отлично работает и получает результаты без брызг. Однако для тех же веб-сайтов, когда я использую заставку (https://github.com/scrapy-plugins/scrapy-splash) мой паук ничего не получает и возвращает ошибку 404. У меня на сервере установлены nginx и django, и мне интересно, не противоречит ли это настройкам «SPLASH_URL» для заставки.

1) Я попытался изменить URL-адрес заставки на все следующее:

SPLASH_URL = 'http://localhost:8050/'
SPLASH_URL = 'http://127.0.0.1:80/
SPLASH_URL = '<server ip>:8050/'

Еще поменял порты на 80 и 8050

2) При запуске curl с моего сервера я получаю следующее

 $ curl http://localhost:80/render.html?url=http%3A%2F%2Fwww.google.com

 <html>
   <head><title>404 Not Found</title></head>
   <body bgcolor="white">
     <center><h1>404 Not Found</h1></center>
     <hr><center>nginx/1.10.0 (Ubuntu)</center>
   </body>
 </html>

Что могло быть причиной ошибки 404. В инструкциях по заставке указывается, что нужно установить URL-адрес на localhost или docker ip, если я использую docker. Заранее большое спасибо!


person user6055239    schedule 17.06.2017    source источник
comment
Вы включили SplashDeduplicateArgsMiddleware, SplashCookiesMiddleware и SplashMiddleware? Также есть DUPEFILTER_CLASS, вы его тоже настраивали?   -  person Andrés Pérez-Albela H.    schedule 17.06.2017
comment
Проблема заключается в том, что когда вы запускаете экземпляр splash и сервер, IP-адрес экземпляра меняет его, он больше не Локальный хост ... Dockerized или использование автономного модуля splash, внутреннее сетевое сопоставление отличается от того, если вы запускаете локальную среду. вполне уверен, что в этом проблема.   -  person scriptso    schedule 17.06.2017
comment
Если у меня чистый сервер ubuntu, какой IP я должен предоставить, чтобы паук заработал?   -  person user6055239    schedule 20.06.2017


Ответы (1)


Я только что понял это. Оказывается, мой сервер заставки закрылся из-за какой-то ошибки. Запуск docker start <containerId> исправил проблему

person user6055239    schedule 10.07.2017