Chinaunix首页 | 论坛 | 博客
  • 博客访问: 972883
  • 博文数量: 99
  • 博客积分: 3306
  • 博客等级: 中校
  • 技术积分: 1238
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-21 10:14
文章分类

全部博文(99)

文章存档

2012年(37)

2011年(56)

2010年(6)

分类: Python/Ruby

2011-08-18 09:51:38

需要抓取一批同事的邮箱地址,然后批量给他们发送邮件。就用lwp模块写了一个
  1. #!/usr/bin/perl
  2. use warnings;
  3. use strict;
  4. use LWP;
  5. my $key;
  6. my $email;
  7. open IN,"<$ARGV[0]" or die "can't open $ARGV[0]";
  8. while($key=<IN>) {
  9. $email=&getmail($key);

  10. if($email ne 0) {
  11.     chomp($key);
  12.          printf("%s\t%s\n",$key,$email);
  13.     }
  14. }
  15. sub getmail() {
  16. my $PID=getppid();
  17. my $TEMP='/tmp/page.'.$PID;
  18. open FILE_W,">$TEMP" or die "open file $TEMP fro writing failed.\n";
  19. my $url='';
  20. my $name=shift;
  21. $url =$url . $name;
  22. my $browser = LWP::UserAgent->new;
  23. $browser->ssl_opts(verify_hostname=>0);
  24. my $response= $browser->get($url);
  25. print FILE_W $response->content;
  26. close FILE_W;
  27. open FILE_R ,"<$TEMP" or die "open file $TEMP for reading failed.\n";
  28. my $line;
  29. while($line=<FILE_R>) {
  30.     if ($line=~/mailto/) {
  31.          if( $line=~/>([\w\.]+\@XXXXX\.com)</ ) {    
  32.         return $1;
  33.         }
  34. #    last;
  35.     }
  36. }
  37. close FILE_W;
  38. unlink $TEMP;
  39. return 0;
  40. }

阅读(1022) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~