1

私はperlモジュールに非常にwww::mechanize慣れていないので、snp idを機能させたいと思っています。そのためには、Web クローラーを作成する必要がありますが、問題があります。İ フィールド名の使用方法や値の割り当て方法がわかりません。この Web サイトにアクセスする必要があります: http://www.ncbi.nlm.nih.gov/projects/SNP/ .ここのフィールド名を教えてください。前もって感謝します。ここでフィールド名を指定するには、検索用に snp id を入力する必要があります。私は何をすべきか理解していません。親切に誰か助けてください。

   use WWW::Mechanize;
   use strict;
   use warnings;
   my $mech = WWW::Mechanize->new;

   my $snp = 'rs111';
   my $URL = "http://www.ncbi.nlm.nih.gov/projects/SNP/";

   $mech->get($URL);

   $mech->submit_form(
   form_number => '1',
   fields => {

   'ID' => $snp,
    },
    );
    print $mech->content();
4

3 に答える 3

5

Firefox の Web Developer アドオンなどのツールを使用します。

ページには 3 つのフォームがあります。

  1. Id       Name     Method   Action
    ------   ------   ------   --------------------------------------------------
    Search   Search   post     http://www.ncbi.nlm.nih.gov/coreutils/dispatch.cgi
    
    Elements
    ========
    Id       Name     Type     Value      Label   Size   Maximum   Length
    ------   ------   ------   --------   -----   ----   -------   ------
    Search   db       select   13
    term     term     text                for     24
    Search   submit   submit   Go
    Search   SITE     hidden   NcbiHome
    
  2. Id   Name    Method   Action
    --   -----   ------   --------------------------------------------------
         frmGo   get      http://www.ncbi.nlm.nih.gov/entrez/query.fcgi
    
    Elements
    ========
    Id   Name       Type     Value     Label   Size   Maximum   Length
    --   --------   ------   -------   -----   ----   -------   ------
         db         hidden   Books
         cmd        hidden   Search
         term       input                      12
         Submit     submit   Go
         doptcmdl   hidden   TOCView
    
  3. Id   Name       Method   Action
    --   --------   ------   --------------------------------------------------
         searchID   post     getID.cgi
    
    Elements
    ========
    Id       Name         Type     Value          Label   Size   Maximum   Length
    ------   ----------   ------   ------------   -----   ----   -------   ------
             searchType   hidden   adhoc_search
    sub_id   sub_id       input                   ID:
    IDtype   Type         select   dbSNP_rs
             submit2      submit   Search
             reset        reset    Reset
    
于 2013-04-19T16:11:15.007 に答える
0

このバージョンを試してください (フォームの名前は Search で、必要なフィールド名は ですdb):

$mech->submit_form(
    name => "Search",
    fields => {
        db => $snp,
    },
    button => "submit",
);
于 2013-04-21T16:07:20.883 に答える