Ajaxレスポンスを使用して商品データが読み込まれるeコマースカタログをクロールしようとしています。Rubyの完全なHTMLページ(AJAX応答を含む)を取得しています
したがって、get要求を使用して応答するコンテンツは不完全です(部分データ)。
私はRubyのデフォルトHTTPライブラリを使用して、構文解析に& Nokogiri
をフェッチしています。
私は要求を開始することができます何らかの方法はありますか?&いくつかの遅延の後の応答を記録しますか?
Ajaxレスポンスを使用して商品データが読み込まれるeコマースカタログをクロールしようとしています。Rubyの完全なHTMLページ(AJAX応答を含む)を取得しています
したがって、get要求を使用して応答するコンテンツは不完全です(部分データ)。
私はRubyのデフォルトHTTPライブラリを使用して、構文解析に& Nokogiri
をフェッチしています。
私は要求を開始することができます何らかの方法はありますか?&いくつかの遅延の後の応答を記録しますか?
ajaxが使用されているので(自動的に実行したい場合)、javascriptを実行するためのjavascriptエンジンを備えたlibary/method/wayが必要です。
あなたはこのようなphantomjsのために、ヘッドレスブラウザを使用することができます。
それはフロントエンドなしで基本的に通常のブラウザです。 PhantomJSはWebkit Engineを使用しています(Safariで使用)。 JSを実行することができ、そのためにAJAXも実行できます。
これは完全に真実ではありません。あらかじめ十分に知っていれば、通常はjavascriptを使わずにリクエストを実行できます。 – Felix
@Felix:私は同意する(答えを編集した)。 しかし、AJAXのすべてのリクエストを構築して、通常はウェブブラウザと同じDOMを最終的に持つことは、多くの作業(および頭痛)になる可能性があります。 あなたが言及したように、あなたは事前に十分に知る必要があります。 1つの特定の「ページ」に対してこれを行うのは問題ありませんが、サイトのさまざまなサイトやページでこれを行うには年月がかかることがあります。 – Marcel
は絶対に同意します。 – Felix