加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读