Chinaunix

标题: 网页抓取问题 [打印本页]

作者: libiqing77    时间: 2009-04-01 17:42
标题: 网页抓取问题
打开这个网址
http://xin.cz3.nus.edu.sg/group/cjttd/ttd.asp
在Target Name中输入phosphatase然后submit链接到
http://xin.cz3.nus.edu.sg/group/cjttd/List.asp?SetQuery=Y
用程序抓取这个网页,却得不到东西。我认为是SetQuery=Y的原因,请各位高手指点指点,谢谢了!
作者: churchmice    时间: 2009-04-01 18:39
用个live http header抓下报头吧
这和refer都有关系的
TN=phosphatase&LG=&DN=&LF=&DC=&submit1=Submit

作者: libiqing77    时间: 2009-04-01 21:04
标题: 回复 #2 churchmice 的帖子
为什么我用下面的代码得不到网页内容呢?

#!/usr/bin/perl  -w  
         
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
my $req = POST 'http://xin.cz3.nus.edu.sg/group/cjttd/List.asp?SetQuery=Y',
[ TN => 'phosphatase',submit1=>'Submit', errors => 0 ];
print $ua->request($req)->as_string;

这是取回来的网页里报的错误
<HTML><HEAD><TITLE>BIDD: 500-100 The page cannot be displayed</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
      <font color="#000066" size="2" face="Arial, Helvetica, sans-serif">
There is a problem with the page you are trying to reach and it cannot be displayed. </font>

[ 本帖最后由 libiqing77 于 2009-4-1 21:05 编辑 ]
作者: hfahe    时间: 2009-04-02 09:50
和SetQuery没关系 可能是判断了referer
作者: hfahe    时间: 2009-04-02 09:56
试了一下 得到以下错误信息

Technical Information (for support personnel)

    * Error Type:
      SessionID, ASP 0164 (0x80004005)
      An invalid TimeOut value was specified.
      /LM/W3SVC/1/ROOT/global.asa, line 33
    * Browser Type:
      libwww-perl/5.814

    * Page:
      POST 105 bytes to /group/cjttd/List.asp

    * POST Data:
      TN=phosphatase&submit1=Submit&errors=0&Referer=http%3A%2F%2Fxin.cz3.nus.edu.sg%2Fgroup%2Fcjttd%2FList.asp




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