[解決済み] scrapyは、AJAXを使用しているウェブサイトから動的なコンテンツをスクレイピングするために使用できますか?
質問
最近Pythonを勉強していて、ウェブスクレイパーを作ることに手を染めているところです。 その唯一の目的は、ベッティングウェブサイトからデータを取得し、このデータをエクセルに入れることです。
ほとんどの問題は解決可能で、ちょっといじくりまわして楽しんでいます。しかし、ある問題で大きなハードルにぶつかっています。もし、あるサイトが馬のテーブルをロードし、現在の賭け金をリストした場合、この情報はどのソースファイルにもありません。このデータは、時々、遠隔地のサーバーから更新されていることが明らかなライブデータである。私のPC上のHTMLには、私が必要とする興味深いデータをすべて押し通すサーバーの穴があるだけなのです。
今、私は動的なウェブコンテンツの経験が少ないので、この件に関しては頭を悩ませているところなんです。
JavaやJavascriptがキーになっていると思います、これはよく出てきます。
スクレイパーは、単純に確率比較エンジンです。 サイトによってはAPIを持っているものもありますが、そうでないもののために必要なのです。Python 2.7でscrapyライブラリを使っています。
この質問があまりにオープンエンドだったら申し訳ないです。要するに、私の質問は、このダイナミックデータを使用できるようにスクレイピングするために、どのようにscrapyを使用することができますか? このベッティングオッズデータをリアルタイムでスクレイピングすることができるのでしょうか?
どのように解決するのですか?
Webkit ベースのブラウザ(Google Chrome や Safari など)には、デベロッパーツールが組み込まれています。Chromeの場合、以下のように開くことができます。
Menu->Tools->Developer Tools
. その
Network
タブでは、すべてのリクエストとレスポンスに関するすべての情報を見ることができます。
<イグ
画像の下部には、リクエストにフィルタをかけて
XHR
- これらは、javascriptのコードによるリクエストです。
ヒント:ログはページをロードするたびにクリアされます。画像の下にある黒い点のボタンはログを保存します。
リクエストとレスポンスを分析した後、ウェブクローラーからこれらのリクエストをシミュレートし、貴重なデータを抽出することができます。多くの場合、HTML を解析するよりも簡単にデータを取得できます。なぜなら、データにはプレゼンテーションロジックが含まれておらず、javascript コードでアクセスできるような形式になっているからです。
Firefoxにも同様の拡張機能があり、その名前は ファイヤバグ . firebugの方がさらに強力だという意見もあるでしょうが、私はwebkitのシンプルさが好きです。
関連
-
vueディレクティブv-bindの使用と注意点
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
[解決済み] Web API エラー - このリクエストはブロックされました; コンテンツは HTTPS で提供されなければなりません
-
[解決済み】TypeErrorの解決方法。未定義またはヌルをオブジェクトに変換できない
-
[解決済み】JavaScriptエラー(Uncaught SyntaxError: Unexpected end of input)
-
[解決済み】React-Redux: アクションはプレーンオブジェクトでなければならない。非同期アクションにはカスタムミドルウェアを使用する
-
[解決済み] UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128)
-
[解決済み] ローカルディレクトリからrequirements.txtファイルに従ってpipを使用してパッケージをインストールするにはどうすればよいですか?
-
[解決済み] 2次元アレイにおけるピーク検出
-
[解決済み】スクレイピング。SSL: CERTIFICATE_VERIFY_FAILED エラーが http://en.wikipedia.org で発生する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue3.0プロジェクトのアーキテクチャを構築するための便利なツール
-
JavaScriptのクロージャの説明
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
[解決済み】最大呼び出しスタックサイズ超過エラー
-
[解決済み] テスト
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】TypeErrorの解決方法。未定義またはヌルをオブジェクトに変換できない
-
[解決済み】JavaScriptエラー(Uncaught SyntaxError: Unexpected end of input)
-
[解決済み】React-Redux: アクションはプレーンオブジェクトでなければならない。非同期アクションにはカスタムミドルウェアを使用する
-
JavaScriptのStringに関する共通メソッド