2011-11-09 2 views
0

ブラウザでインタラクティブに操作していた場合、複数のアクションとページの読み込みを伴うページのHTMLを取得したい: 1.ホームページに移動 2.ログインフォームにテキストを入力して、フォーム(投稿) を送信します。3.投稿はさまざまなリダイレクトとフレームセットの使用を行います。重要ではないユーザーシナリオのHTML結果をスクリーンスクレープする方法

このプロセスではCookieが適用されます。

ブラウザでは、送信後、ただページを取得します。

しかし、これをcurl(PHPなど)やwgetやその他の低レベルテクノロジで行うには、Cookie、リダイレクト、フレームセットの管理はすべて非常に雑用になり、スクリプトをWebサイトに非常に強く結びつけます私が取り組んでいるウェブサイトの小さな変更にも非常に敏感です。)

誰でもこれを行う方法を提案できますか?

は、私はすでにクローバPhantomJSリンクス(cmd_log/cmd_scriptオプション付き)が、私はFirefoxやChromeでやると思います正確に何を模倣するために一緒にすべてをチェーン化することは困難であるを見てきました。

セレンRCを使用しているこれを行うには

+0

あなたは理想的にどのようなプログラミング言語を使いたいですか?私はあなたの好みの言語のための小さなサンプルで私の答えを更新することができます。 –

+0

機械化を見れば、perl、python、およびrubyで利用可能です – pguardiario

答えて

2

一つの方法(余談としては、それもこのスクリプトは、FirefoxやChromeまたは「本物」のブラウザだと思うし、ターゲットのウェブサイトのために必要/便利かもしれません) 。それは通常テストのために使用されますが、それはちょうどブラウザのリモートコントロールサービスです。

使用出発点として、このウェブサイトは:http://seleniumhq.org/projects/remote-control/

0

あなたはロボットを記録し、それを再生するirobotsoftでIROBOTを使用することができます。

低レベルのコントロールを使用する場合は、HTQL Pythonインターフェイスを使用できます(http://htql.net/htql-python-manual.pdfを参照)。それはあなたがPythonからIEベースのブラウザにアクセスすることができます。

0

Firebugのようなツールを使用して、ログインのためにどのヘッダーがWebサイトに送信されているかを確認し、コード内に正確に複製します。

ブラウザでログインしてからコード内のCookieを再利用してください。