模拟浏览器抓取网页

使用开源爬虫和wget爬取网页都被robots.txt给block了。
自己模拟浏览器行为写了段脚本,这次你封不了我了吧!哈哈!

 


 

#!/usr/bin/perl -w  
 
 
#use CGI qw(:standard);  
use LWP::UserAgent;  
use HTTP::Request::Common;  
use HTTP::Request::Common qw(POST);  
#$e=exp(1);  
open(OPENFILE,$ARGV[0]) or die("open file failure!");  
#$/=undef;  
#$cgi=new CGI;  
#print $cgi->header;  
$outputPageName="out";  
$cnt = 0;
while($line=<OPENFILE>){  
      ++$cnt;
   print $line;
        if($line){  
           
            
        $line=~s//n|/r/ /ig;  
        $line=~s//s+$//ig;  
      
        $content = getWebPage($line);  
        open(OUTFILE,">$outputPageName_$cnt");
       
       print OUTFILE $content;
        sleep(10);  
        close(OUTFILE);
          
        }  
      
}  
print "Total Record:/$";  
close(OPENFILE);  
#$slurp=<OPENFILE>;  
sub getWebPage{  
my $agent=LWP::UserAgent->new;  
my @header=(  
'User-Agent'=>'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; iCafeMedia; .NET CLR 2.0.50727; CIBA)',  
'Accept' => '*/*',  
'Accept-Charset' => 'gzip, deflate',  
'Accept-Language' => 'zh-cn',  
'Cookie'=> 'Tango_UserReference=38D8FF1624305B16496E9808; MTCCK=1; _csuid=48feeef505683659; cookmcnt=999; CID=1459382; cookMemberName=YunFan; cookMemberID=61448; savedEmail=liyunfan@genscriptcorp.com; DLDExec=OK; __utma=232384002.1655516880.1231991960.1231994793.1232000250.3; __utmb=232384002; __utmc=232384002; __utmz=232384002.1231991960.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)' 
);  
#my $url="http://news.baidu.com/n?cmd=2&class=top&page=http%3a%2f%2fnews.jinghua.cn%2f351%2fc%2f200907%2f29%2fn2754593.shtml&clk=rrel&cls=top&where=toppage";  
my $url="$_[0]";  
print $_[0];
#my $url="http://news.baidu.com/n?cmd=2&class=top&page=http%3a%2f%2fnews.jinghua.cn%2f351%2fc%2f200907%2f29%2fn2754593.shtml&clk=rrel&cls=top&where=toppage";  

my $res =$agent->get($url,@header);  
my $content="";  
if($res->is_success){  
    $content= $res->content;  
   print $content;
   return $content;
}  
      
exit;
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值