3

複数のページを持つ Web サイトをクロールしたいのですが、ページ番号をクリックすると動的に読み込まれます。スクリーン スクレイピングの方法は?

つまり、URL が href として存在しないか、他のページにクロールする方法はありませんか?

誰かがこれについて私を助けてくれたら素晴らしいでしょう。

PS:別のページをクリックしても URL は変わりません。

4

6 に答える 6

2

Ghost.pyも考慮する必要があります。これにより、任意の JavaScript コマンドを実行し、フォームに入力し、スナップショットを非常に迅速に取得できるようになります。

于 2013-01-29T07:35:24.310 に答える
1

Google Chrome を使用している場合は network->headers 、開発者ツールで動的に呼び出されている URL を確認できます。

それに基づいて、それがGETまたはPOSTリクエストであるかどうかを識別できます。

リクエストの場合はGET、URL からすぐにパラメーターを見つけることができます。

リクエストの場合は 、開発者ツールPOSTからパラメーターを見つけることができます。form datanetwork->headers

于 2013-01-24T14:06:06.490 に答える
0

この投稿は python と web-crawler でタグ付けされているため、Beautiful Soup について言及する必要があります: http://www.crummy.com/software/BeautifulSoup/

ドキュメントはこちら: http://www.crummy.com/software/BeautifulSoup/bs3/download/2.x/documentation.html

于 2013-01-24T15:04:10.270 に答える
0

HTML の代わりに JavaScript コードで必要なデータを探すことができます。これは通常は面倒ですが、正規表現を使用すると楽しいことができます。

あるいは、 splinterなどのブラウザー テスト ライブラリの一部は、スクレイピングする前に、firefox や chrome などの実際のブラウザーにページをロードすることによって機能します。ブラウザがインストールされているマシンでこれを実行している場合、これらのいずれかが機能します。

于 2013-01-24T14:02:25.907 に答える
0

gevent を使用してもかまわない場合。GRobotも良い選択です。

于 2013-05-15T20:33:20.897 に答える
0

これは ajax ページネーションであるため ( mechanizeを使用しても)、簡単にはできません。代わりに、ページのソース ファイルを開き、ajax ページネーションに使用される URL リクエストが何であるかを調べてください。次に、偽のリクエストを作成し、返されたデータを独自の方法で処理できます

于 2013-01-25T04:58:39.540 に答える