0

我有从以下链接下载的基因列表。在下拉列表下,它被分成 60 页的问题。

http://diana.cslab.ece.ntua.gr/micro-CDS/index.php?r=search/results_mature&mir=hsa-miR-3131&kwd=MIMAT0014996

如何让WWW::Mechanize访问所有页面中的所有基因?

这是我拥有的当前代码:

use WWW::Mechanize;
use strict;
use warnings;

my $url = "http://diana.cslab.ece.ntua.gr/micro-CDS/index.php?r=search/results_mature&mir=hsa-miR-3131&kwd=MIMAT0014996";

my $mech = WWW::Mechanize->new();
$mech->agent_alias("Windows IE 6");

$mech->get($url);
#only access the first page.
4

3 回答 3

1

这很简单——页码在 URL 中(这是针对第 11 页的):

my $page_number = 11;
$mech->get( "http://diana.cslab.ece.ntua.gr/micro-CDS/index.php?r=search%2Finitializesearch&keywords=MIMAT0014996&thr=0.41&kegg=&page=" . $page_number );
于 2013-04-18T07:43:16.830 回答
1

页面下拉是使用 Javascript 实现的。你不能用 Mechanize 做到这一点,因为它没有实现 Javascript。查看常见问题解答

于 2013-04-18T06:36:19.550 回答
1
$pages = 60;
for($i=1;$pages<=60;$i++){
    $url = "http://diana.cslab.ece.ntua.gr/micro-CDS/index.php?r=search%2Finitializesearch&keywords=MIMAT0014996&thr=0.41&kegg=&page=$i"
    $mech->get($url);
}

这应该这样做。您只需要遍历这 60 个页面,每次都修改 URL。

于 2013-04-18T08:22:45.493 回答