4

HTML スクレイピングは、私が見た限りでは十分に文書化されており、その概念と実装を理解していますが、認証フォームの背後に隠れているコンテンツからスクレイピングするための最良の方法は何ですか. 合法的にアクセスできるコンテンツからのスクレイピングについて言及しているため、ログイン データを自動的に送信する方法を探しています。

私が考えることができるのは、プロキシを設定し、手動ログインからスループットを取得し、HTML スクレイピング実行の一部としてそのスループットをスプーフィングするスクリプトを設定することだけです。言語に関する限り、おそらく Perl で行われます。

誰かがこれを経験したことがありますか、それとも単に一般的な考えですか?

編集 これは以前に回答されていますが、.NET を使用しています。それは私がそれを行うべきだと思う方法を検証しますが、これを行うためのPerlスクリプトを持っている人はいますか?

4

4 に答える 4

4

Perl WWW::Mechanizeライブラリをチェックしてください。これは LWP 上に構築されており、ユーザーが参照する種類の対話を正確に実行するためのツールを提供します。ユーザーが操作している間、Cookie を使用して状態を維持できます!

WWW::Mechanize、略して Mech は、Web サイトとの対話を自動化するのに役立ちます。リンクの追跡やフォームの送信など、一連のページ フェッチの実行をサポートします。フェッチされた各ページが解析され、そのリンクとフォームが抽出されます。リンクまたはフォームを選択したり、フォーム フィールドに入力したり、次のページを取得したりできます。Mech は、アクセスした URL の履歴も保存し、照会して再アクセスすることができます。

于 2008-10-10T08:06:36.283 に答える
3

perlのLWP モジュールは、求めているものを提供するはずです。

Cookie やその他の認証方法を有効にして認証済みのログインを取得し、スクリーン スクレイプを使用してログインの壁を越えられるようにすることについて説明している良い記事がここにあります。

于 2008-10-10T07:57:04.350 に答える
2

通常使用される認証には 2 種類あります。HTTP ベースの認証とフォームベースの認証。

HTTP ベースの認証を使用するサイトでは、基本的に、サーバーに対して行う各 HTTP 要求の一部としてユーザー名とパスワードを送信します。

フォームベースの認証を行うサイトでは、通常、ログイン ページにアクセスし、Cookie を受け入れて保存し、作成した HTTP 要求と共に Cookie 情報を送信する必要があります。

もちろん、認証に openid や saml などの外部認証を使用する stackoverflow のようなサイトもあります。これらは、廃棄のために処理するのがより複雑です。通常、それらを処理するためのライブラリを見つけたいと思うでしょう。

于 2008-10-10T07:58:03.303 に答える
0

はい、asp.net 以外の言語であれば、他のライブラリを使用できます。

たとえば、Java では、httpclientまたはhttpunitを使用できます(基本的な Javascript も処理します)。

于 2008-10-10T07:53:16.543 に答える