私は現在、get リクエストを Web ページに送信し (python requests モジュールを使用)、モジュールの美しいスープで応答を解析できるようにするスクリプトを python で記述しようとしています。
私が直面している問題は、取得しようとしているテーブルが、最初の DOM のロード後に JavaScript を介してロード/作成されるため、get リクエストへの応答にそれが含まれていないことです。
私は現在、get リクエストを Web ページに送信し (python requests モジュールを使用)、モジュールの美しいスープで応答を解析できるようにするスクリプトを python で記述しようとしています。
私が直面している問題は、取得しようとしているテーブルが、最初の DOM のロード後に JavaScript を介してロード/作成されるため、get リクエストへの応答にそれが含まれていないことです。
問題に応じて、できることは 2 つあります。
1. テーブルを直接取得
実際にテーブルを取得したい場合は、テーブルを取得するためにどのようなリクエストが発行されているかを確認します。たとえば、Firebug または Chrome 開発者ツールを使用して、要求の適切な構造を取得できます。
2. Javascript は重要
です 多くの Web サイトをサポートすることがより重要であり、JavaScript が何らかの魔法を実行することが重要である場合、Seleniumのようなものを使用して Javascript を実行する Brwoser を使用でき、テーブルが作成された後にソースを取得できます。読み込まれました。
更新- コメントの URL に基づくChrome 開発者ツールのタブで、このリクエストの読み込みに非常に時間がかかる
ことがわかります。Network
http://www.ticketmaster.com/json/browse/music?select=n93
したがって、これによりデータが読み込まれると想定しています。ブラウザーで URL を開くと、テーブルのデータがJSON 形式であることがわかります。このテーブルを解析/取得したいだけで、多くのページに一般的なものがない場合は、このアプローチでデータを取得するだけです。
更新
フィルターまたは日付範囲でテーブルを変更してみてください。API の仕組みを調べて、必要な方法でリクエストを発行できます。
次の 7 日間のダンス/エレクトロニックのフィルター:
/json/browse/music?g=Dance%2FElectronic&select=n7
別の API 呼び出しもあります:
http://www.ticketmaster.com/json/browse/music/histogram?select=n7
しかし、それが何のためにあるのかは言えません。しかし、あなたには良い方向性があり、それがどのように機能するかを理解するための私よりも多くの時間を持っていると思います ;)
Network
(タブ付き) です。ツールを有効にしてページを更新し、リクエストをいじって何が起こっているのかを理解してください。
Python で JSON を解析するのも非常に簡単です: http://docs.python.org/library/json.html