0

很抱歉这个广泛的问题,但我根本不知道如何更好地描述这一点,甚至不知道该动作被称为什么。它类似于网络爬虫,但它也与网站交互。

我不想做任何邪恶的事情,我只是在公共网站上需要做 200 个查询,我真的不想一个接一个地输入它们。基本上,我只想使用unix工具(也许是lynx?类似的东西?)或者一些perl脚本去一个网站,在“搜索”字段中输入文本,按“去”,然后保存整个页面结果。

谢谢!

4

1 回答 1

4
perl -MWWW::Mechanize::Shell -e shell

然后:获取、填写、打开、提交。完成 Web 交互后,执行:script并将输出保存到whatever.pl.

示例会话:

$ perl -MWWW::Mechanize::Shell -e shell

(no url)>get http://google.com/

http://www.google.pl/>fillout
(text)q> [] depesz

http://www.google.pl/>submit
200

http://www.google.pl/search?ie=ISO-8859-2&hl=pl&source=hp&q=depesz&gbv=1>script
#!/opt/perlbrew/perls/perl-5.18.0/bin/perl -w
use strict;
use WWW::Mechanize;
use WWW::Mechanize::FormFiller;
use URI::URL;

my $agent = WWW::Mechanize->new( autocheck => 1 );
my $formfiller = WWW::Mechanize::FormFiller->new();
$agent->env_proxy();

  $agent->get('http://google.com/');
   $agent->form_number(1) if $agent->forms and scalar @{$agent->forms};
  $formfiller->add_filler( 'q' => Fixed => 'depesz' );$formfiller->fill_form($agent->current_form);
  $agent->submit();
于 2013-06-18T14:19:51.453 回答