使用WWW :: Mechanize在perl中进行站点抓取

时间:2012-07-10 04:48:35

标签: perl login web mechanize scrape

我在perl中使用WWW :: Mechanize进行网站抓取应用。

当我要通过WWW :: Mechanize登录特定网站时,我遇到了一些困难。我已经看过WWW :: Mechanize的一些例子。但我无法找到我的问题。 我在下面提到了我的代码。

#!/usr/bin/perl -w

use strict;
use WWW::Mechanize;
use HTTP::Cookies;
use Crypt::SSLeay;
my $agent = WWW::Mechanize->new(noproxy => 0);
$agent->cookie_jar(HTTP::Cookies->new());
$agent->agent('Mozilla/5.0');
$agent->proxy(['https', 'http', 'ftp'], 'http://proxy.rcapl.com:3128');
$agent->get("http://www.facebook.com");
my $re=$agent->submit_form(
        form_number => 1,
        fields      => {
            Email    => 'xyz@gmail.com',
            Passwd  =>'xyz'
        }
    );
print $re->content();

当我运行代码时,它说:

错误发布https://www.facebook.com/login.php?login_attempt=1:未在./test.pl第11行实施

任何人都可以告诉代码出了什么问题。我是否需要设置facebook发送登录的所有参数?。

1 个答案:

答案 0 :(得分:1)

代理有问题:

Error GETing http://www.facebook.com: Can't connect to proxy.rcapl.com:3128 (Bad hostname) at so11406791.pl line 11. 

该程序适用于我而无需调用代理方法。删除它。