2017-06-17 17 views
1

私は自分の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を設定するかどうかを指定します。ありがとうございます!

+0

'SplashDeduplicateArgsMiddleware'、' SplashCookiesMiddleware'、および 'SplashMiddleware'を有効にしましたか? 'DUPEFILTER_CLASS'もありますが、それも設定していますか? –

+0

問題点は、スプラッシュインスタンスとサーバーを起動すると、インスタンスへのIPが変更されないことです。ローカルホスト... Dockerizedまたはスプラッシュモジュールを単独で使用すると、ローカル環境を実行するとinternelネットワークマッピングが異なります..かなり確かにthats問題。 – scriptso

+0

クリーンなubuntuサーバーをお持ちの場合、スパイダーを動作させるにはどのようなIPを用意する必要がありますか? – user6055239

答えて

0

私はこれを考え出しました。何らかのエラーが原因で私のスプラッシュサーバが終了します。実行中docker start <containerId>問題を修正しました

関連する問題