免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5060 | 回复: 3
打印 上一主题 下一主题

请教:如何用perl直接打开一个网页 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-10 16:06 |只看该作者 |倒序浏览
用perl程序直接打开 如:url=“http://www.sina.com.cn”的网页,如何实现,是用HTTP模块吗?谢谢!

论坛徽章:
0
2 [报告]
发表于 2006-02-10 16:29 |只看该作者

#抓取网页内链接脚本

#!/usr/bin/perl

use LWP::Simple;
use HTML::Parse;
use HTML::Element;
use URI::URL;
print "Content-type: text/html; charset=GB2312\n\n";
$ARGV[0]="http://www.sun126.com";
$html = get $ARGV[0];
$parsed_html = HTML::Parse::parse_html($html);
for (@{ $parsed_html->extract_links((a)) }) {$i++;

         $link = $_->[0];
         $url = new URI::URL $link;
         $full_url = $url->abs($ARGV[0]);
         print "$i : $full_url<br>\n";
}

论坛徽章:
0
3 [报告]
发表于 2006-02-10 16:32 |只看该作者
##getHtml.pl

use LWP::UserAgent;
use HTTP::Request::Common;

my $url = "http://192.168.1.1/" ;


my @html_page = getHTMLpage($url) ;

if(@html_page[0] =~/200 OK/) {
       
        print "connect [" . $url . "] OK!\n";
        print "get html :\n-----------------------\n";
       
    @arg = split "\n", @html_page[0];
    undef @html_page;   
    foreach (@arg){
        push @check,"$_\n";
    }
    foreach (@check){
        s/[\r\n]//g;
        $html_line = $_;
        $html_line2 = $html_line;
        print $html_line . "\n";
    }
}else{
    #connect err
    print "connect [" . $url . "] err!\n";
           foreach ( @html_page ) {
                print "$_\n";
        }
    exit(1);
}       

exit(0);


## sub

sub getHTMLpage {       
    my $url = shift;
    my $uagent = LWP::UserAgent->new;
    $uagent->cookie_jar({});
    $uagent->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windws NT 5.1)');
    my $request= HTTP::Request->new(GET=>$url);
    $request->content_type('applicationn/x-www-form-urlencoded');
    $request->content();
    my $res = $uagent->request($request);
    return $res->as_string();
}

[ 本帖最后由 kiss2003 于 2006-2-10 16:39 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2006-02-14 17:49 |只看该作者
多谢2位,请问2楼,extract_links((a)) 这个a是什么意思?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP