我需要帮助抓取网站。身份验证表单如下所示:
`<!-- 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
为了访问用户信息站点,我必须首先进行身份验证。我有一个用户名和密码,我只是很难通过身份验证。任何帮助将不胜感激!
感谢。
答案 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,即使需要进行身份验证,也可以在任何网站上配置僵尸程序。