2011-12-02 6 views
1

私はウェブサイトをクロールするための助けが必要です。認証フォームは次のようになります。クロールパスワードで保護されたウェブサイト

`<!-- Start Form --> 
    <form action="/idp/Authn/UserPassword" method="post"> 

<table align=center> 
    <tr> 
     <td>Username:</td> 
     <td><input name="j_username" type="text" tabindex="1" /></td> 
    </tr> 
    <tr> 
     <td>Password:</td> 
     <td><input name="j_password" type="password" tabindex="2" /></td> 
    </tr> 
    <tr> 
     <td colspan="2"><input type="submit" value="Login" tabindex="3" /></td> 
    </tr> 
</table> 

`

私はクロールしようとしているページがある:ユーザー情報サイトにアクセスするためにhttps://my-plant.org/users/all

、私がしなければなりません最初に認証されます。私はユーザー名とパスワードを持っています。私はちょうど認証に苦労しています。どんな助けもありがとう!

ありがとうございました。

+1

手動でログインしてからクロールします。 –

+0

どうすればよいですか@SnOrfus – user1011332

+1

認証に問題がある場合は、そのサイトのウェブマスターと連絡を取りたい場合があります。 – Benjam

答えて

0

認証が必要な場合でも、どのWebサイトでもボットを設定できるNetwoof APIを使用できます。

1

使用perlの、そのすごい:)これを試してみて、それがあなたのために働くかどうかを見る。..

use strict; 
use warnings; 
use WWW::Mechanize; 

my $mech = WWW::Mechanize->new(); 
$mech->get('https://auth.iplantcollaborative.org/idp/Authn/UserPassword'); 
$mech->form(1); 
$mech->field('j_username', 'yourusername'); 
$mech->form(2); 
$mech->field('j_password', 'yourpassword'); 
$mech->click(); 
+0

これを試してみてうれしいですが...後でどうやってクロールしますか?すべてのライブラリがauth'dページを再帰的にクロールしますか? – Riccardo

1

あなたは、PythonであなたがMechanizeのを使用することができ、いくつかの認証フォームを渡そうとしている場合。実際には機械化は、フォームを簡単に記入したり、セッション管理をしたり、フォームに記入して簡単にウェブページをダウンロードしたりできる.getelementByID、byNameなどの機能があるライブラリを使用しています。

関連する問題