ニューヨークマラソン2016(http://results.nyrr.org/event/M2016/finishers)のランナーズ情報を使ってデータベースを作成したいと考えています。これはjavascriptの重いサイトで、ランナーごとに「結果を展開」をクリックして情報を読み込む必要があります。ご覧のとおり、5万人以上のランナーがいるので、この作業は容易ではありません。JavaScriptを使用したウェブサイトのスクラップに関するアドバイス
私はこれを行うためにPython-Seleniumを使用しようとしています。まず、すべてのランナーのリストが表示されるまで、「もっと見る」をクリックしました。次に、各ランナーの「Expand Results」ボタンをクリックし、最後にBeautifulSoupを使用して必要な情報を取得しました。このメソッドの問題は、クリックするボタンがないために非常に遅く、エラーが発生することです。
これを行う方法がいくつかありますか。このデータベースを作成するより良い方法はありますか?より良い方法や私の改善方法についてのアドバイスをいただければ幸いです。
ブラウザのネットワークパネルに移動し、結果を展開するときにどのリクエストが送信されるかを確認して、それを複製します。セレンは含まれていません。 – Ryan
** http://results.nyrr.org/api/runners/finishers(POST)**は** "pageSize"を使用しています:51(ペイロード内)**あなたが結果の数を確認するだけならこの番号を変更することができます – mahesh
@ライアン私は結果を拡大するときに送信されるrequest.postを行うことができます。しかし、応答でBeautifulSoupを使用した後、データが存在しないようですが、見つけられません。 – Belisario