perl提取新浪博客博文地址

Posted 潇湘蘑菇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl提取新浪博客博文地址相关的知识,希望对你有一定的参考价值。

 

 

贴一张大牛博客首页图片(樊老师),表示敬仰与感谢。


首先,进入“博文目录”列表,发现樊老师的博文共有7页:


perl提取新浪博客博文地址


我们点进每页,查看网址:

第一页:http://blog.sina.com.cn/s/articlelist_2214034580_0_1.html

第二页:http://blog.sina.com.cn/s/articlelist_2214034580_0_2.html

。。。。。。。

第七页:http://blog.sina.com.cn/s/articlelist_2214034580_0_7.html

 

我们发现源代码页主要分为三个部分:

1.页面头文件部分,不含正文列表

perl提取新浪博客博文地址

 

2.正文列表部分

perl提取新浪博客博文地址

3.页面尾文件部分

perl提取新浪博客博文地址

#!/usr/bin/perl

use strict;

use LWP::UserAgent;#申明使用LWP::UserAgent模块

open OUTPUT,'>>','fanyucai_blog.txt' or die 'Open fanyucai_blog.txterror!';#追加方式打开文件句柄,用于存放获得的博客信息

my $get_page = LWP::UserAgent -> new;#调用LWP::UserAgent的”new“方法创建$get_page对象

$get_page -> timeout(10);#timeout:10s

my $page_addr;#申明一系列私有变量

my $response;

my $content;

my $blog_title;

my $blog_addr;

my $blog_date;

&print_list();#调用perl子函数,sub以下定义子函数

sub print_list{

   foreach (1..7){

                  print OUTPUT"page.$_ ";#打印page到输出文件并换行

       $page_addr ='http://blog.sina.com.cn/s/articlelist_2214034580_0_'.$_.'.html';#每页的网址,变量$_读取foreach循环每次读入的数字,点号为连接符;

       $response = $get_page -> get($page_addr);

       $content = $response ->content;#获得网页源代码内容并赋值给content

       print $_."done ";#打印页面处理进度

       $content =~ s/DOCTYPE.+?START/s/xs;#除去源代码中的页面头文件内容

       $content =~ s/ENDs-->.*/s/xs;#除去源代码中的页面尾文件内容

       while ($content =~ s/target=.+?blank.+?href="(.+?)">(.+?)<.+?(d{4}-d{2}-d{2}.+?)<//xs){#while循环获取正文列表中博文题目、网址、发表日期并输出到文件

           $blog_title = $2;

           $blog_addr = $1;

           $blog_date = $3;

           print OUTPUT "$blog_title $blog_addr $blog_date ";

           }}}

将以上代码存为blog_sites_parse.pl。在cmd命令行或shell中输入perl blog_sites_parse.pl运行,即得到名字为fanyucai_blog.txt的文件:

perl提取新浪博客博文地址 

接下来三周目测很忙,更新困难。接下来想利用网址列表获取正文内容,等忙完这阵再说吧。顺利勾搭一个程序员跟我一起学shell脚本了perl提取新浪博客博文地址

 

P.S.新手入门,有错误欢迎后台联系。


以上是关于perl提取新浪博客博文地址的主要内容,如果未能解决你的问题,请参考以下文章

Python爬取韩寒所有新浪博客

新浪博客怎么写markdown

新浪博客照片导出xml,使用java导出

腾讯网易新浪新闻网站爬虫编写记录及评论格式分析

Python爬虫爬取一篇韩寒新浪博客

python学习笔记