Mysql Perl::Mechanize:运行带有循环的简单爬虫程序[多个查询]

Mysql Perl::Mechanize:运行带有循环的简单爬虫程序[多个查询],mysql,perl,parsing,mechanize,lwp,Mysql,Perl,Parsing,Mechanize,Lwp,目前正在研究一种解析页面数据的方法: 我喜欢用Perl来做这件事:嗯,我只是在思考哪种方法是做这项工作的最佳方式。 我猜我正处在一个很好的学习曲线前面这个任务将给我一些很好的解释。现在它有点超过了我的头…;-) 下面是一个示例页面: 。。。正如我所想,我可以在Id=0和Id=100000之间的某个范围内找到所有790个结果页,我想,我可以使用循环: 我想我可以用Perl,但我不是很确定:我试图在相同的URL上使用LWP::UserAgent[见下文]和不同的查询参数,我想知道LWP::Us

目前正在研究一种解析页面数据的方法:

我喜欢用Perl来做这件事:嗯,我只是在思考哪种方法是做这项工作的最佳方式。 我猜我正处在一个很好的学习曲线前面这个任务将给我一些很好的解释。现在它有点超过了我的头…;-)

下面是一个示例页面:

。。。正如我所想,我可以在Id=0和Id=100000之间的某个范围内找到所有790个结果页,我想,我可以使用循环:

我想我可以用Perl,但我不是很确定:我试图在相同的URL上使用LWP::UserAgent[见下文]和不同的查询参数,我想知道LWP::UserAgent是否为我们提供了一种循环查询参数的方法?我不确定LWP::UserAgent是否有一种方法可以让我们这样做。嗯,我有时听说使用Mechanize更容易。但这真的容易吗

顺便说一句;但是如果我用PHP的方式,我可以用Curl来实现它——难道我不能

这是我的方法:我试图弄明白。我更深入地挖掘了手册和指南。我们可以有一个循环来构造URL并重复使用Curl

如上所述:这里我们有一些结果页

或者,我们可以添加一个request\u prepare处理程序来计算并添加查询 在我们发出请求之前,先进行参数设置

再次说明:目的是:我想解析数据,然后将其存储在本地MySQL数据库中

我应该定义一个外部uid

这样说:

for my $i (0..10000) {
  $ua->get('http://www.foundationfinder.ch/ShowDetails.php?Id=', id => 21, extern_uid => $i);
  # process reply
}
好吧,但现在我陷入困境-我需要帮助-我可以这样做吗

问候


不要这样做。使用HTTP-live-headers(Firefox插件)或eqv。查看javasript在幕后做了什么,同时从中选择进入该页面所需的内容(使用表)

要从表中获取数据,请使用
HTML::TableExtract
HTML::TreeBuilder::XPath
(如果要使用XPath)

如果确实要迭代查询,只需创建另一个变量:

my $a = 'http://www.foundationfinder.ch/ShowDetails.php?Id=' . $q . '&InterfaceLanguage=&Type=Html';

并在运行过程中增加$q,在尝试使用
get

加载页面之前,确保页面有效。使用HTTP-live-headers(Firefox插件)或eqv。查看javasript在幕后做了什么,同时从中选择进入该页面所需的内容(使用表)

要从表中获取数据,请使用
HTML::TableExtract
HTML::TreeBuilder::XPath
(如果要使用XPath)

如果确实要迭代查询,只需创建另一个变量:

my $a = 'http://www.foundationfinder.ch/ShowDetails.php?Id=' . $q . '&InterfaceLanguage=&Type=Html';

并在运行过程中增加$q,在尝试加载
get

hello SoulSurfer之前确保页面有效,非常感谢您的来信!我从未在FF中使用过liveHeaders。你能帮我一把吗-(也在Table Extract或Treebuilder中!?-第一眼看到我正在使用的XPAth。很高兴听到你的消息!greetingsHi SoulSurfer-thx alot。我确信在尝试加载get.valid point!Tx之前,我必须确保页面有效。到目前为止,我将尝试进行此急救!希望我能完成任务!!你好Soulsurfer:非常感谢您的快速回复。老实说,我在HTML::TableExtract或TML::TreeBuilder::XPath方面没有经验,所以您能给我一些这样做的初步步骤吗?TableExtract的想法非常有趣!您能帮我一把,并展示这个解决方案的样子吗?期待您的来信你!顺便说一句。-你会帮助我和我的学生很多-这是我为我的学校班级做的一项任务(学生们会很高兴)…期待收到你的来信…;-)@zero:如果你尽你所能,然后解释你在哪里卡住了或出了什么问题,效果会更好。你好,伊斯特-好的,我会这样做-稍后再回来…直到soonhello SoulSurfer,非常感谢收到你的来信!我从来没有在FF中与liveHeaders合作过。你能帮我一把吗-(也在Table Extract或Treebuilder中!?-第一眼看到我正在使用的XPAth。很高兴听到你的消息!greetingsHi SoulSurfer-thx alot。我确信在尝试加载get.valid point!Tx之前,我必须确保页面有效。到目前为止,我将尝试进行此急救!希望我能完成任务!!你好Soulsurfer:非常感谢您的快速回复。老实说,我在HTML::TableExtract或TML::TreeBuilder::XPath方面没有经验,所以您能给我一些这样做的初步步骤吗?TableExtract的想法非常有趣!您能帮我一把,并展示这个解决方案的样子吗?期待您的来信你!顺便说一句。-你会帮助我和我的学生很多-这是我为我的学校班级做的一项任务(学生们会很高兴)…期待收到你的来信…;-)@zero:如果你尽你所能,然后解释你在哪里卡住了或出了什么问题,效果会好得多。你好,伊斯特-好的,我会这样做-稍后再回来…直到很快