5

一部の Web サイトにアクセスするスクリプトを作成する必要があります。コマンドラインからのスクリプトは、いくつかのページを取得し、いくつかのフォームを投稿し、いくつかの情報をスクリーン スクレイピングします。

libwww-perlのようなライブラリ「ブラウザ」にはなり得ません。これは、一部の手順でユーザーの操作が必要になる場合があるためです ( CAPTCHAAjax専用フォーム、操作のサプライズなど)。

私が考えることができる最も実用的な方法は、リモートで Firefox のタブを開き、そこに JavaScript コードを挿入することです。これは、GreasemonkeySeleniumが行うことと少し似ています。必ずしも Firefox 用である必要はなく、簡単であれば別のブラウザーでもかまいません。

それで、それを行うための最良の方法は何ですか?

4

4 に答える 4

3

Selenium Remote Controlを検討しましたか? 以前にツールを使用してブラウザーの対話を自動化したことがありますが、非常にうまく機能し、多くの柔軟性を提供します

正確なニーズに応じて、簡単なスクリプト作成を可能にする使いやすい Firefox プラグインであるSelenium IDEを利用できる場合があります。

于 2009-04-14T05:16:12.913 に答える
2

XPCOMを使用して、考えられるあらゆる方法で Firefox を拡張できます。おそらく別のプロセスに接続するある種のインターフェースを書くことができます。

于 2009-04-14T05:21:54.147 に答える
1

それを行うための「最良の」方法が何であるかはわかりませんが、1 つの可能性は、その仕事に AppleScript を使用することです。ただし、Firefox には広範なスクリプト機能がありません。Safari を使用する場合は、ドキュメントに JavaScript コードを挿入するために利用できる AppleScript コマンドがあります (このdo JavaScriptコマンドは、スクリプト エディタ内から利用できる Safari のスクリプト辞書で調べてください)。 )。

また、コマンド ラインから AppleScript を実行するには、次のコマンドを使用しますosascript

osascript path/to/script.scpt
于 2009-04-14T04:45:25.373 に答える
0

OS X でスクリプトを作成するには、2 つの方法をお勧めします。どちらも Ruby で作成されています。1 つ目は、Mac os x で firefox と safari の両方を制御する自動テスト フレームワークであるWatirです。

スクリーン スクレイピングのもう 1 つの良い方法は、本当に使いやすい html パーサーであるhpricotを使用することです。

バックグラウンドで、Watir は JSSh を使用し ます。これは、Firefox がこれを行うための TCP/IP JavaScript シェル サーバーです。JSSH を使用すると、telnet セッションからブラウザーを制御できます。

どちらに行っても、キャッチパがあれば止められます。それは彼らの要点のようなものです:-)

于 2009-06-04T01:39:29.690 に答える