質問

私は、ウェブサイトからのデータ抽出を自動化しようとしていると私は本当にどこから始めれば分かりません。当社の供給業者の一つは、「<全角>ビジネスオブジェクト11 の」オンラインアプリケーションを介して私たちにいくつかの機器のログデータへのアクセスを与えています。あなたがこのオンラインアプリケーションに精通していない場合は、Webベースのレポートジェネレータと考えます。問題は、私は多くの機器を監視しようとしているということであり、このサプライヤーは、一度に1つのログを抽出するために要求を作成しただけました。私たちは、それゆえ...この要求は、さらに悪いことに...機器番号、開始日と終了日を要するデ「CSV」の輸出が壊れていると、彼らはそれを修正することを拒否するので、我々は唯一のバイナリExcel形式にエクスポートすることができますExcelの65 536行の制限によって制限されている...(それは私の場合のデータ記録の3-4日になります)。唯一のサプライヤは、必要な管理者権限を持っているように私は新しいresquestを作成することはできません。

は、Web GUIから(800前後)の要求の多くを実行しているの最もエレガントな方法だろうどう思いますか?私は、マウスの位置をハードコーディング遅延と、すべてのイベント、およびキーストロークをクリックすることができると思います...しかし、より良い方法がなければならない。

私はAutoHotkeyをとのAutoItスクリプティングについて読んしかし、彼らは、彼らがウェブ上で何ができるかのように制限されているように見えます。また、...私はIE6にこだわっています...しかし、あなたが別のブラウザを必要とする方法を知っていれば、私はまだあなたの答えに非常に興味を持っています。

(私はローカルのログファイルを持っていたら、データを抽出することは、のないの問題である)

役に立ちましたか?

解決

あなたが試すかもしれないいくつかのものがあります。このサイトはHTMLで、レポートは簡単なPOSTによって要求されたか、 urlib / urlib2 <その後、GETすることができた場合/>とcookielibのPythonモジュールは、Excelドキュメントを取得するのに十分である必要があります。

次に、あなたはこれを試すことができます: xlrd のExcelからデータを抽出します。

http://pamie.sourceforge.netする /:

また、見てみましょう。私はそれを自分自身を試していないが、有望で使いやすくなります決してます。

他のヒント

通常、私はすべてのIE(または任意のブラウザ)を使用しないようお勧めします。覚えておいて、ウェブブラウザソフトウェアは、httpリクエストを作り、有意義な方法で結果を表示するだけのプロキシプログラムです。あなたが同様のHTTPリクエストを作成し、応答を処理することができ、他の方法があります。ほぼすべての近代的な言語では、これはどこかのAPIに組み込まれています。これは、画面スクレイピングやWebスクレイピングと呼ばれます。

しかし、私はあなたのプログラミング環境についての詳細を知る必要があり、この提案を完了するために:つまり、どのようなプログラミング言語で、あなたは、このスクリプトを書い思い描くん。

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

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

あなたは、あなたが必要とするすべてのフィールドを検索し、別の要求を送信するために文字列を解析します。 WebClientクラスはまた、あなたがExcelファイルを取得するために有用かもしれません.DownloadFile()メソッドを持っています。

あなたは、.NETを使用することができますので、

は、Windowsは、WebBrowserコントロールをフォームの使用を検討してください。あなたは、レポートページがロードされると、あなたが欲しいデータを見つけるためにHTMLのDOMをナビゲートするために、コードを使用することができるなど、サイトへの押しボタンをナビゲートするためにそれを自動化することができます - 。関与なし正規表現を

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top