spider...
利用LWP进行网页提取并进行简单处理。
- #!/usr/bin/perl
- use strict;
- use warnings;
- use LWP::UserAgent;
- use Encode;
- my $debug=0;
- #create OO
- my $url='%E5%B0%8F%E8%AF%B4';
- my $ua=LWP::UserAgent->new();
- #get content
- my $rv=$ua->get($url);
- if ($debug){
- print $rv->content;
- }
- #有中文字符,先decode,后encode,因为perl内部使用utf-8编码(貌似在perl文档看到过,但忘记出处了)
- my $rv_decode=decode('utf-8',$rv->content);
- my $rv_encode=encode('GBK',$rv_decode);
- if ($debug){
- print $rv_encode;
- print "for debug decode/encode: \$rv_encode!";
- }
- #匹配需要的字符块
- if ($rv_encode=~ m/
- $rv_encode=$1;
- if (!$debug) {
- print $rv_encode;
- print "for debug \$rv_encode!";
- }
- }
- #匹配字符块中有用的字符条目放入@rv_encode,要用/g进行全部匹配
- my @rv_encode = ($rv_encode=~/
(.*)<\/p>/g);
- foreach(@rv_encode){
- #输出控制
- my @one_item=split("/",$_);
- $one_item[0]=~s/^\[.*\]|^\【.*\】|^\(.*\)|(.*)//;
- #print @one_item,"\n";
- $_=join("|",@one_item);
- s/^\s+//; #取消每行开始的空格
- print $_,"\n";
- }
输出结果
毛姆 | 傅惟慈 | 上海译文出版社 | 2006-8 | 15.00元
道格拉斯·亚当斯 | 姚向辉 | 上海译文出版社 | 2012-11 | 26
加西亚·马尔克斯 | 纪明荟 | 敦煌文艺出版社 | 2000 | 16.80
路遥 | 人民文学出版社 | 2005-1 | 64.00元
卡勒德·胡赛尼 | 李继宏 | 上海人民出版社 | 2006-5 | 25.00
余华 | 南海出版公司 | 1998-5 | 12.00元
J. K. 罗琳 | 任战 | 人民文学出版社 | 2012-10 | 57.00元
八月长安 | 新世界出版社 | 2009-12 | 39.80元
落落 | 长江文艺出版社 | 2012-11 | 25.00元
钱钟书 | 人民文学出版社 | 1991年2月第二次 | 19.00
苗炜 | 湖南文艺出版社 | 2012-10 | 29.00元
毛姆 | 张柏然 | 上海译文出版社 | 2007-3 | 25.00元
伊塔羅.卡爾維諾 | 紀大偉 | 時報文化 | 1998-9-1 | NT$ 250
卡森·麦卡勒斯 | 陈笑黎 | 上海三联书店 | 2005-8 | 25.00元
乔治·奥威尔 | 董乐山 | 上海译文出版社 | 2003-4 | 23.00元
乔纳森·林恩 | 陈体芳 | 学林出版社 | 1992 | 15.55元
米兰·昆德拉 | 许钧 | 上海译文出版社 | 2003-7 | 23.00元
雷·布雷德伯利 | 竹苏敏 | 重庆出版社 | 2005-6 | 20
村上春树 | 施小炜 | 南海出版公司 | 2010-5 | 36.00元
米歇尔·图尼埃 | 姚梦颖 | 人民文学出版社 | 2012-6 | 28.00元
阅读(2096) | 评论(0) | 转发(0) |