Chinaunix

标题: 如何使用LWP模块获取访问该网站并获取数据(急盼回复) [打印本页]

作者: ghui501    时间: 2011-08-05 17:28
标题: 如何使用LWP模块获取访问该网站并获取数据(急盼回复)
任务:使用LWP模块递交指定序列到http://www.ebi.ac.uk/Tools/pfa/iprscan/网站进行搜索并获得数据,下面为小弟写的程序,但始终无法访问,急盼各位高手回复解决,非常感谢!

#!/usr/bin/perl

use LWP::UserAgent;
open STDOUT, ">aas713s";
my $browser = LWP::UserAgent->new;
$protein = "MGDHAWSFLKDFLAGGVAAAVSKTAVAPIERVKLLLQVQHASKQISAEKQYKGIIDCVVR";
my $SUSUI_URL = "http://www.ebi.ac.uk/Tools/services/web/toolform.ebi";
my $response = $browser->post( $SUSUI_URL, [ 'sequence' => $protein,],'tool'=>'iprscan','Content_Type' => 'form-data','sumbit'=>'sumbit');

if ($response->is_success) {
        print $response->content;
} else {
        print "Bad luck this time\n";
}
作者: ghui501    时间: 2011-08-08 22:19
use strict;
use warnings;
use File::Slurp;

use LWP;
open(WF,">result.html") or die $!;
my $browser = LWP::UserAgent->new();
my $protein = "MSSSTPFDPYALSEHDEERPQNVQSKSRTAELQAEIDDTVGIMRDNINKVAERGERLTSI";
my $response = $browser->post(
   'http://www.ebi.ac.uk/Tools/services/web_iprscan/toolform.ebi',
   'Content-Type' => 'multipart/form-data',     #表示类型为 multipart/form-data
  
   'Content' =>[
       'tool' => 'iprscan',
       'sequence' => $protein,
           'upfile'=>'',
       'appl' => 'blastprodom',
       'appl' => '',
'appl' => '',
'appl' => '',
'appl' => '',
'appl' => '',
'appl' => '',
'appl' => '',
'appl' => '',
'appl' => 'superfamily',
'appl' => '',
'appl' => '',
'appl' => '',
'appl' => '',
'email'=>'',
'title'=>'',
   ],
   'submit'    => 'Submit',
);

print WF $response->content; # 输出返回的网页内容
close(WF);



修改了代码,但还不行,跪拜高手指点,非常感激!
作者: bzdghdn    时间: 2011-08-09 12:04
我建议你用抓包或者http分析工具看一下你发出的数据和通过网页直接提交的数据的差别,做到一致。
作者: ghui501    时间: 2011-08-22 21:41
我建议你用抓包或者http分析工具看一下你发出的数据和通过网页直接提交的数据的差别,做到一致。
bzdghdn 发表于 2011-08-09 12:04

非常感谢,我试试!
作者: tempo8    时间: 2011-08-22 22:20
[保留] LWP中文FAQ [仙子整理]
http://bbs.chinaunix.net/thread-1805600-1-1.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2