8

Python を使用して、次の URL のデータをスクレイピングしたいと考えています。 http://www.hankyung.com/stockplus/main.php?module=stock&mode=stock_analysis_infomation&itemcode=078340

会社概要についてです。

スクレイピングしたいものが最初のページに表示されません。「재무제표」という名前のタブをクリックすると、財務諸表にアクセスできます。そして、「현금흐름표」という名前のタブをクリックすると、「キャッシュフロー」にアクセスできます。

「キャッシュフロー」のデータをスクレイピングしたい。

ただし、キャッシュ フロー データは、URL 全体で JavaScript によって生成されます。次のリンクは非表示の URL です。http://stock.kisline.com/compinfo/financial/main.action?vhead=N&vfoot=N&vstay=&omit=&vwidth=

オプション値と Cookie をこの URL に送信することにより、キャッシュ フロー データが生成されます。

お気づきのとおり、最初のリンクの itemcode=078340 は株式コードを意味し、キャッシュ フロー データを収集したい株式は 1680 ほどあります。ループ構造にしたい。

キャッシュフローデータをスクレイピングする良い方法はありますか? 私はスクレイピーを試しましたが、すでに使用している別のスクレイピング コードに対処するのは困難です。

4

2 に答える 2

9

また、dryscape (私が作成したライブラリなので、推奨は少し偏っていますが、明らかに :) もあります。これは、高速な Webkit ベースのメモリ内ブラウザーを使用して移動します。Javascript も理解しますが、Selenium よりもはるかに軽量です。

于 2012-04-07T10:20:31.827 に答える
1

AJAX で更新されたページ コンテンツをスケープする必要があり、この AJAX インターフェイスを制御できない場合は、タスクに Selenium ブラウザー オートメーターを使用します。

http://code.google.com/p/selenium/

  • Selenium には Python バインディングがあります

  • 実際のブラウザ インスタンスを起動するので、自分の目で見たのと同じことを 100% 実行およびスクレイピングできます。

  • Selenium API を介して AJAX 更新後に HTML ドキュメント コンテンツを取得する

  • lxml + xpath / CSS セレクターを使用して、ドキュメントから関連部分を解析します

于 2012-04-07T10:16:25.690 に答える