perl – WWW :: Mechanize在六秒后进行第二次重定向
发布时间:2020-12-16 06:15:48 所属栏目:大数据 来源:网络整理
导读:我使用Perl和 WWW::Mechanize 模块将表单提交到网页并将结果保存到文件中.我知道如何提交表单并保存数据,但是在这六秒重定向后我无法保存数据. 提交表单后,页面将重定向到显示的页面 Results should appear in this window in approximately 6 seconds... 并
我使用Perl和
WWW::Mechanize 模块将表单提交到网页并将结果保存到文件中.我知道如何提交表单并保存数据,但是在这六秒重定向后我无法保存数据.
提交表单后,页面将重定向到显示的页面 Results should appear in this window in approximately 6 seconds... 并将其重定向到具有我想要的结果的页面.我的脚本可以遵循第一个重定向,但不是第二个,并且没有链接说“如果没有重定向则点击这里”. 这是我的剧本 use WWW::Mechanize; my $mech = WWW::Mechanize->new(autocheck => 1); $mech->get( "http://tempest.wellesley.edu/~btjaden/TargetRNA2/index.html"); $result = $mech->submit_form( form_number => 1,fields => { text => 'Escherichia coli str. K-12 substr. MG1655',sequence => '>RyhB' . "n" . 'GCGATCAGGAAGACCCTCGCGGAGAACCTGAAAGCACGACATTGCTCACATTGCTTCCAGTATTACTTAGCCAGCCGGGTGCTGGCTTTT',} ); $mech->save_content(result); 解决方法
您需要做的是提取重定向URL并手动运行它:
试试这个: use WWW::Mechanize; my $mech = WWW::Mechanize->new( autocheck => 1 ); $mech->get( "http://tempest.wellesley.edu/~btjaden/TargetRNA2/index.html"); $result = $mech->submit_form( form_number => 1,fields => { text => 'Escherichia coli str. K-12 substr. MG1655',sequence => '>RyhB GCGATCAGGAAGACCCTCGCGGAGAACCTGAAAGCACGACATTGCTCACATTGCTTCCAGTATTACTTAGCCAGCCGGGTGCTGGCTTTT',} ); my $content = $mech->content; my $url1 = 'http://tempest.wellesley.edu/~btjaden/cgi-bin/'; my ($url2) = $content =~ /URL=(targetRNA2.cgi?.+)?">/; $mech->get($url1.$url2); $mech->save_content(result); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |