[经验总结]Perl提取网页信息

44 篇文章 0 订阅
40 篇文章 0 订阅
 
 
#!/usr/bin/perl -w
use LWP:: Simple ;
my $url = $ARGV [ 0 ];
my $filename = $ARGV [ 1 ];
  
my $content = get ( $url )
     or die "Couldn't get $url" ;

#$content =~ s#^.*?(<div.*?</div>).*$##m;

if ( $content =~ m #.*(<div id="enText" style="display:block">.*?</div>).*#sg)
{
     $text = $1 ;

     # 打开模板文件
     open ( TEMPLATE , "template.html" )
             or die " Couldn't open template.html for writing: $! " ;

     # 读取模板文件
     $/ = "</html>" ; # 读到</html>结束
     my $reads = <TEMPLATE> ;

     # 替换听力文本
     $reads =~ s/==TEXT_CONTENT==/$text/gix ;
     #print $reads;

     # 输出html文件
     open ( OUT , " > $filename " )
             or die " Couldn't open $filename for writing: $! " ;
     print OUT $reads ;

     # 下载听力
     my $baseUrl = $url ;
     $baseUrl =~ s/(.*)(// .* /.html)/ $1 / g ;
     my $reslink = $content ;
     $reslink =~ s/.*<a href="(.*?)" title="进入下载资料页面">下载听力<// a >.* /$1/sg ;
     $reslink = $baseUrl . "/" . $reslink ;

     print "/nreslink:" , $reslink , "/n" ;
     my $respage = get ( $reslink )
         or die "Couldn't get $reslink" ;

     my $mp3link = $respage ;
     print $mp3link ;
#$mp3link =~ s#.*<a href="(.*?)" target="_blank"><img src="/images/downloadurl1/.jpg"></a>.*#$1#sg;
#if ($mp3link =~ m/.*<a href="(.*?)" target="_blank"><img src="//images//downloadurl1/.jpg"><//a>.*/sg) {

     # 没登录,下载链接获取不到,怎么办?
     if ( $mp3link =~ m/downloadurl1/sg ) {
         print "匹配/n" ;
     }
     else {
         print "不匹配/n" ;
     }
     #<a href="(.*?)" target="_blank"><img src="/images/downloadurl1.jpg"></a>

     print "/ndownload:" . $reslink . "/n" ;
}
else {
     print "不匹配/n" ;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值