0

コンテンツを投稿するためのFacebookスタイルのURLスクレーパーを作成しました。

誰かがURLを入力すると、リクエストが送信されます。バックエンドでは、Nokogiriを使用してURLを取得し、情報を取得して投稿を作成します。

apple.com、sony.comなどの他のすべてのWebサイトでは正常に機能しますが、元のドメイン( "mywebsite.com")からのリンクを使用するとタイムアウトになり、Herokuが30秒後にリクエストをタイムアウトする以外にエラーは表示されません。 。コンピューターのローカルホストからドメインをスクレイプすると、機能します。

Nokogiriが同じドメインからページの発信をスクレイピングすることを防ぐ何らかの発信ルールはありますか?

Ruby On Rails 3.1.10、Nokogiri 1.4.7、HerokuCedarStackを使用しています。

4

1 に答える 1

1

スクレイピングはバックグラウンドジョブで実行されますか、それともWebワーカーを介して実行されますか?ダイノは1つだけですか?アプリにWebワーカーが1つしかない場合は、スクレイプしようとして忙しく、ページを提供できない可能性があります。

dynoを2にスケーリングして、問題が解決するかどうかを確認してください。

heroku ps:scale web=2
于 2013-02-09T10:12:08.220 に答える