gpt4 book ai didi

mysql - Perl::Mechanize:使用循环运行一个简单的爬虫[多个查询]

转载 作者:行者123 更新时间:2023-11-29 06:16:47 27 4
gpt4 key购买 nike

目前正在研究一种解析页面数据的方法:http://www.foundationfinder.ch/

我喜欢用 Perl 来做这件事:嗯 - 我只是在思考哪种是完成这项工作的最佳方式。我想我正处于一个很好的学习曲线之前。 ;) 这个任务会给我一些很好的 Perl 类(class)。此刻它有点超出了我的想象......;-)

这是一个示例页面:

see the resultpage

...正如我所想,我可以找到 Id= 0 和 Id= 100000 之间一定范围内的所有 790 个结果页面,我想,我可以用循环来实现:

http://www.foundationfinder.ch/ShowDetails.php?Id=11233&InterfaceLanguage=&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id=927&InterfaceLanguage=1&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id=949&InterfaceLanguage=1&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id=20011&InterfaceLanguage=1&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id=10579&InterfaceLanguage=1&Type=Html

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

顺便说一句;但如果我采用 PHP 方式,我可以使用 Curl 来完成 - 我不能!?

这是我的方法:我试图弄清楚。我更深入地研究了手册页和指南。我们可以有一个循环构造 URL 并重复使用 Curl

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

http://www.foundationfinder.ch/ShowDetails.php?Id=11233&InterfaceLanguage=&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id=927&InterfaceLanguage=1&Type=Html

或者,我们可以添加一个 request_prepare 处理程序来计算并添加查询在我们发出请求之前的参数。

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

我应该定义一个 extern_uid 吗?

然后像这样:

for my $i (0..10000) {
$ua->get('http://www.foundationfinder.ch/ShowDetails.php?Id=', id => 21, extern_uid => $i);
# process reply
}

好吧,但现在我陷入困境 - 我需要帮助 - 我可以像这样做这份工作吗!?

问候

最佳答案

不要这样做。使用 HTTP 实时 header (Firefox 插件)或 eqv。当您从here中选择您需要的内容时,看看javasript在幕后做了什么到达该页面(带有表格)。

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

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

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

并在使用时增加 $q,在尝试使用 get 加载页面之前确保页面有效

关于mysql - Perl::Mechanize:使用循环运行一个简单的爬虫[多个查询],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6008400/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com