私は自分のPCにスクラップ・スプラッシュ・スパイダーの実例を持っています。私はそれを私のLinuxサーバーに移行しました。スパイダーは正常に動作し、スプラッシュなしで結果を取得します。しかし、同じWebサイトの場合、スプラッシュ(https://github.com/scrapy-plugins/scrapy-splash)を使用すると、スパイダーは何も取得せず、404エラーを返します。私はnginxとdjangoを私のサーバに設定しています。そして、それがスプラッシュのための "SPLASH_URL"設定と矛盾しているかどうか疑問に思います。スクラップ・スプラッシュの設定: "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 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エラーを引き起こす原因は何か。スプラッシュの指示では、私がドッカーを使用している場合、localhostまたはdocker ipにURLを設定するかどうかを指定します。ありがとうございます!
'SplashDeduplicateArgsMiddleware'、' SplashCookiesMiddleware'、および 'SplashMiddleware'を有効にしましたか? 'DUPEFILTER_CLASS'もありますが、それも設定していますか? –
問題点は、スプラッシュインスタンスとサーバーを起動すると、インスタンスへのIPが変更されないことです。ローカルホスト... Dockerizedまたはスプラッシュモジュールを単独で使用すると、ローカル環境を実行するとinternelネットワークマッピングが異なります..かなり確かにthats問題。 – scriptso
クリーンなubuntuサーバーをお持ちの場合、スパイダーを動作させるにはどのようなIPを用意する必要がありますか? – user6055239