Apache HttpClient を使ったスクレイピングサービスをクラウドに置きたいです。Google App Engine では、ネットワークへの直接アクセスとスレッドの作成が禁止されているため、問題が発生する可能性があることを読みました。他のクラウド ホスティング プロバイダーはどうですか? Apache HttpClient + クラウドを経験した人はいますか?
質問する
234 次
2 に答える
2
AppEngine には、スレッドと直接ネットワーク アクセス(HTTP のみ) があります。HttpClient で動作させるための回避策があります。
また、多くの解析タスクを並行して使用する予定がある場合は、Task Queueやmapreduceをチェックしてみてください。
ところで、GAE には、リクエストにカスタム User-agent ヘッダーを完全に設定できないという「ミス機能」があります。
于 2012-11-08T08:05:43.057 に答える
0
スレッドを作成し、CloudFoundry から他の Web サイトにアクセスすることは確かに可能です。各プロセスの時間制限があるだけです。たとえば、http://rack-scrape.cloudfoundry.com/を見ると、これは Google.com の「a」タグを検査する単純なラック アプリケーションです。
require 'rubygems'
require 'open-uri'
require 'hpricot'
run Proc.new { |env|
doc = Hpricot(open("http://www.google.com"))
anchors = (doc/"a")
[200, {"Content-Type" => "text/html"}, [anchors.inspect]]
}
Apache HttpClient に関しては、私はこれを経験したことがありませんが、もはや維持されていないことは理解しています。
于 2012-11-07T15:52:57.273 に答える