Chinaunix首页 | 论坛 | 博客
  • 博客访问: 174055
  • 博文数量: 28
  • 博客积分: 536
  • 博客等级: 中士
  • 技术积分: 285
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-10 21:00
文章分类

全部博文(28)

文章存档

2013年(2)

2012年(22)

2011年(4)

分类: Python/Ruby

2012-11-21 13:34:08

spider...
利用LWP进行网页提取并进行简单处理。

点击(此处)折叠或打开

  1. #!/usr/bin/perl

  2. use strict;
  3. use warnings;
  4. use LWP::UserAgent;
  5. use Encode;

  6. my $debug=0;

  7. #create OO
  8. my $url='%E5%B0%8F%E8%AF%B4';
  9. my $ua=LWP::UserAgent->new();
  10. #get content
  11. my $rv=$ua->get($url);
  12. if ($debug){
  13. print $rv->content;
  14. }
  15. #有中文字符,先decode,后encode,因为perl内部使用utf-8编码(貌似在perl文档看到过,但忘记出处了)
  16. my $rv_decode=decode('utf-8',$rv->content);
  17. my $rv_encode=encode('GBK',$rv_decode);
  18. if ($debug){
  19. print $rv_encode;
  20. print "for debug decode/encode: \$rv_encode!";
  21. }
  22. #匹配需要的字符块
  23. if ($rv_encode=~ m/
    (.*?)
    /gs){
  24. $rv_encode=$1;
  25. if (!$debug) {
  26. print $rv_encode;
  27. print "for debug \$rv_encode!";
  28. }
  29. }
  30. #匹配字符块中有用的字符条目放入@rv_encode,要用/g进行全部匹配
  31. my @rv_encode = ($rv_encode=~/

    (.*)<\/p>/g);

  32. foreach(@rv_encode){
  33. #输出控制
  34. my @one_item=split("/",$_);
  35. $one_item[0]=~s/^\[.*\]|^\【.*\】|^\(.*\)|(.*)//;
  36. #print @one_item,"\n";
  37. $_=join("|",@one_item);
  38. s/^\s+//; #取消每行开始的空格
  39. print $_,"\n";
  40. }
输出结果
毛姆 | 傅惟慈 | 上海译文出版社 | 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元

阅读(2076) | 评论(0) | 转发(0) |
0

上一篇:perl CGI之表单

下一篇:perl之LWP应用二

给主人留下些什么吧!~~