1

Webサイトからのデータ抽出を自動化しようとしていますが、どこから始めればよいのか本当にわかりません。サプライヤの1つが、「 BusinessObjects11」を通じて一部の機器ログデータへのアクセスを提供しています。「オンラインアプリケーション。このオンラインアプリに慣れていない場合は、Webベースのレポートジェネレータと考えてください。問題は、私が多くの機器を監視しようとしていて、このサプライヤが1つのログを抽出するリクエストを作成しただけであるということです。このリクエストには、機器番号、開始日、終了日が含まれます...さらに悪いことに、de "csv"エクスポートが壊れており、修正を拒否しているため、バイナリExcel形式にしかエクスポートできません。 。したがって、Excelの65 536行の制限によって制限されます...(私の場合は3〜4日間のデータ記録に相当します)。必要な管理者権限を持っているのはサプライヤのみであるため、新しいリクエストを作成できません。

Web GUIを介して多くのリクエスト(約800)を実行する最もエレガントな方法は何だと思いますか?マウスの位置、クリックイベント、キーストロークを遅延などでハードコーディングできると思います...しかし、もっと良い方法が必要です。

AutoHotKeyとAutoItスクリプトについて読みましたが、Web上で実行できることに関しては制限されているようです。また...私はIE6で立ち往生しています...しかし、あなたが別のブラウザを含む方法を知っているなら、私はまだあなたの答えに非常に興味があります。

(ログファイルをローカルに保存したら、データの抽出は問題ありません

4

3 に答える 3

1

あなたが試みるかもしれないいくつかのことがあります。サイトがhtmlであり、単純なPOSTまたはGETでレポートを要求できる場合は、urlib/urlib2およびcookielibPythonモジュールでExcelドキュメントをフェッチできます。

次に、これを試すことができます:xlrdを使用して、Excelからデータを抽出します。

また、http://pamie.sourceforge.net/もご覧ください。自分で試したことはありませんが、有望で使いやすいようです。

于 2009-07-08T15:52:40.270 に答える
0

.NETを使用できるため、WindowsフォームWebブラウザコントロールの使用を検討する必要があります。自動化してサイトに移動したり、ボタンを押したりすることができます。レポートページが読み込まれると、コードを使用してHTML DOMをナビゲートし、必要なデータを見つけることができます。正規表現は必要ありません。

私はこの数年前に、eBayからオークションデータを抽出するために何かをしました。

于 2010-02-19T05:25:30.910 に答える
0

通常、IE(またはブラウザ)はまったく使用しないことをお勧めします。Webブラウザソフトウェアは、httpリクエストを作成し、意味のある方法で結果を表示するための単なるプロキシプログラムであることを忘れないでください。同様のhttpリクエストを作成し、レスポンスを処理する方法は他にもあります。ほとんどすべての現代語には、これがAPIのどこかに組み込まれています。これは、スクリーンスクレイピングまたはウェブスクレイピングと呼ばれます。

しかし、この提案を完了するには、プログラミング環境についてもっと知る必要があります。つまり、このスクリプトを書くことをどのプログラミング言語で想定していますか?

文字列としてhtmlの結果を取得するC#を使用した典型的な例は、次のようになります。

new System.Net.WebClient().DownloadString("http://example.com");

次に、文字列を解析して必要なフィールドを見つけ、別のリクエストを送信します。WebClientクラスには.DownloadFile()、Excelファイルを取得するのに役立つメソッドもあります。

于 2009-07-08T15:51:46.013 に答える