请教各位,一个关于网页抓取的问题。

你确定填写的登录所需的所.
你确定填写的登录所需的所有数据?包括隐藏字段?

最好用抓包工具确定一下。
[quote]回复给 fnever : 直接用socket发送最原始的....[/quote]

这个我不会,唉
[quote]回复给 福尔马林 :.
[quote]回复给 福尔马林 : 你确定填写的登录所需的所....[/quote]

字段应该不会缺少的,因为登记页面非常的简单。
那个表单是不是只支持get方式登录啊?你换成get方式看看
作者提供的相关的附件(大小:4 K)

我分成3步,其中需要判断的地方都手工看了之后输入,还是不行,郁闷啊

先点【step1】,然后查看抓取到的city_main.html,从
img border="0" src="/validateImg.jsp?s=76950580" alt="" align="absmiddle">
中取出“76950580”输入到GUI的输入框中。

点击【step2】,然后从抓取到的validateImg.jpg图片中看验证码,输入到GUI的输入框中。

点击【step3】,然后查看抓取到的city_main2.html。

失败。

自己顶一下,为什么还是失.
自己顶一下,为什么还是失败哪?
perlchina 首页有一篇很详.
perlchina 首页有一篇很详细使用 LWP 的文章。 HTTP::Header Cookie 等这些 LWP 在背后使用的模块就好像是必须手工使用的工具,不如 LWP 等来得方便,易于操作。




   

很早以前写的 lwp 程序,里面有怎么设定 REFERER 。 现在再写的话我大概会选择 www::mechanize 。

[quote]
use strict;
use HTTP::Request::Common qw(GET POST);
use LWP::UserAgent;
use HTML::Form;
#use Data::Dumper;

my $test_url = 'http://www.example.com;
my $post_url = 'http://www.example.com/post';
my $ua = LWP::UserAgent->new;
$ua->cookie_jar({});
$ua->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windws NT 5.1)');

my $req = GET $test_url;
my $resp = $ua->request($req);

my @form = HTML::Form->parse($resp->content,$resp->base());
my @inputs = $form[1]->inputs;
my @params = map { $_->name,$_->value } @inputs;

#print Dumper @params;

$req = POST($post_url,\@params);
$req->referer($test_url);
$resp = $ua->request($req);

open F,">s.html";
print F $resp->content;
close F;
[/quote]
谢谢各位的指点,我再试试.
谢谢各位的指点,我再试试看。