抓取密码保护的网站

时间:2011-12-02 20:46:02

标签: web-crawler

我需要帮助抓取网站。身份验证表单如下所示:

`<!-- 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

为了访问用户信息站点,我必须首先进行身份验证。我有一个用户名和密码,我只是很难通过身份验证。任何帮助将不胜感激!

感谢。

3 个答案:

答案 0 :(得分: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();

答案 1 :(得分:1)

如果您尝试传递一些身份验证表单,那么在python中您可以使用mechanize。实际上,机械化是一种使用它可以轻松填充表格的库,可以进行会话管理,还有.getelementByID,byName等功能,您可以使用它们填写表格并轻松下载网页。

答案 2 :(得分:0)

您可以使用Netwoof API,即使需要进行身份验证,也可以在任何网站上配置僵尸程序。