我有从以下链接下载的基因列表。 在下拉列表下分为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.
答案 0 :(得分:1)
页面下拉列表使用Javascript实现。您不能使用Mechanize执行此操作,因为它不实现Javascript。请参阅FAQ
答案 1 :(得分: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 );
答案 2 :(得分: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。