1
我的PC上有一個scrapy飛濺蜘蛛的工作實例。然後我將它遷移到我的Linux服務器上。蜘蛛工作正常,並檢索結果沒有飛濺。然而,對於相同的網站,當我使用飛濺(https://github.com/scrapy-plugins/scrapy-splash)時,我的蜘蛛不會檢索任何內容並返回404錯誤。我在服務器上設置了nginx和django,我想知道這是否與splash的「SPLASH_URL」設置衝突。Scrapy飛濺設置:「SPLASH_URL」
1)我試圖改變飛濺網址以下所有條件:
SPLASH_URL = 'http://localhost:8050/'
SPLASH_URL = 'http://127.0.0.1:80/
SPLASH_URL = '<server ip>:8050/'
我也改變了端口80和8050
2)當從我的服務器上運行嫋嫋,我得到以下內容
$ 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錯誤。如果我使用docker,則splash指令指定將url設置爲localhost或docker ip。提前感謝!
您啓用了'SplashDeduplicateArgsMiddleware','SplashCookiesMiddleware'和'SplashMiddleware'嗎?還有一個'DUPEFILTER_CLASS',你有沒有設置它? –
問題是,當你啓動一個splash實例和一個服務器時,實例的IP改變了它不再是本地主機... Dockerized或者獨立使用splash模塊,因此internel網絡映射是不同的,如果你運行本地環境..相當肯定這是問題。 – scriptso
如果我有一個乾淨的Ubuntu服務器,我應該提供什麼ip讓蜘蛛工作? – user6055239