伪爬虫:实现CSDN博客访问人数统计功能

实现一个功能,博客统计功能

要求:获取自己所关注的博主的10个博客属性,并生成直观性的统计图表。

伪爬虫:实现CSDN博客访问人数统计功能_第1张图片伪爬虫:实现CSDN博客访问人数统计功能_第2张图片

 

类似这样

伪爬虫:实现CSDN博客访问人数统计功能_第3张图片

time[2020年 05月 04日 星期一 00:38:04 CST]我有必要写这么一个功能出来,尽快编写出来.

 

update

(update 2020年 05月 25日 星期一 01:47:44 CST)

实现思路:先获取到网页内容,再通过网页内容截取到博客对应属性值。

这是源博客首页对应属性值的展示块前端源代码:

伪爬虫:实现CSDN博客访问人数统计功能_第4张图片

截取到博客对应属性值,是通过使用正则表达式的傻办法来获取的,下面是使用php实现这个功能的源码。

";
    echo "时间:" . date('Y/m/d H:i:s') . "
"; echo "原创:" . findNum($matches[0][0]) . "
"; echo "粉丝:" . findNum($matches[0][1]) . "
"; echo "获赞:" . findNum($matches[0][2]) . "
"; echo "评论:" . findNum($matches[0][3]) . "
"; echo "访问:" . findNum($matches[0][4]) . "
"; echo "积分:" . findNum($matches[0][5]) . "
"; echo "收藏:" . findNum($matches[0][6]) . "
"; echo "周排名:" . findNum($matches[0][7]) . "
"; echo "总排名:" . findNum($matches[0][8]) . "
"; echo "等级:" . findNum($matches[0][9]) . "

"; }

程序运行结果:

伪爬虫:实现CSDN博客访问人数统计功能_第5张图片

 

ok,over(先写到这儿,图表功能后续完善,2020年 05月 25日 星期一 02:10:50 CST)

 

 

update2

(update 2020年 05月 25日 星期一 22:36:11 CST)


    博客
    时间
    
    原创
    粉丝
    
    获赞
    评论
    
    访问
    积分
    
    收藏
    周排名
    
    总排名
    等级
";


$starttime = explode(' ',microtime());
for ($i = 0; $i < sizeof($blog_arr[0]); $i++) {
    $txt = file_get_contents($blog_arr[0][$i]);
    $isMatched = preg_match_all('/title="(\d+|\d+(.*)\S)"/', $txt, $matches);

    echo "";
    echo ''.$blog_arr[0][$i].'';
    echo "".date('Y/m/d H:i:s')."";
    echo "".findNum($matches[0][0])."";
    echo "".findNum($matches[0][1])."";
    echo "".findNum($matches[0][2])."";
    echo "".findNum($matches[0][3])."";
    echo "".findNum($matches[0][4])."";
    echo "".findNum($matches[0][5])."";
    echo "".findNum($matches[0][6])."";
    echo "".findNum($matches[0][7])."";
    echo "".findNum($matches[0][8])."";
    echo "".findNum($matches[0][9])."";
    echo "";
}
echo "";

//程序运行时间
$endtime = explode(' ',microtime());
$thistime = $endtime[0]+$endtime[1]-($starttime[0]+$starttime[1]);
$thistime = round($thistime,3);
echo "本网页执行耗时:".$thistime." 秒。".time();

程序运行结果:

伪爬虫:实现CSDN博客访问人数统计功能_第6张图片

伪爬虫:实现CSDN博客访问人数统计功能_第7张图片

 

update3

(update 2020年 06月 01日 星期一 02:14:39 CST);update3程序源码附件,点击下载


    博主($blog)所关注的统计结果
    
        博客
        时间
        
        原创
        粉丝
        
        获赞
        评论
        
        访问
        积分
        
        收藏
        周排名
        
        总排名
        等级
    ";


    $starttime = explode(' ', microtime());
    for ($i = 0; $i < sizeof($follows); $i++) {
        $text = file_get_contents($follows[$i]);
        preg_match_all('/title="(\d+|\d+(.*)\S)"/', $text, $matches);

        echo "";
        echo '' . $follows[$i] . '';
        echo "" . date('Y/m/d H:i:s') . "";
        echo "" . findNum($matches[0][0]) . "";
        echo "" . findNum($matches[0][1]) . "";
        echo "" . findNum($matches[0][2]) . "";
        echo "" . findNum($matches[0][3]) . "";
        echo "" . findNum($matches[0][4]) . "";
        echo "" . findNum($matches[0][5]) . "";
        echo "" . findNum($matches[0][6]) . "";
        echo "" . findNum($matches[0][7]) . "";
        echo "" . findNum($matches[0][8]) . "";
        echo "" . findNum($matches[0][9]) . "";
        echo "";
    }
    echo "";

//程序运行时间
    $endtime = explode(' ', microtime());
    $thistime = $endtime[0] + $endtime[1] - ($starttime[0] + $starttime[1]);
    $thistime = round($thistime, 3);
    echo "本网页执行耗时:" . $thistime . " 秒。" . time();
}

// 待统计的主博客地址
//$blog = "https://me.csdn.net/follow/u014132947";
$blog ="https://me.csdn.net/follow/zengfanwei1990";
//$blog ="https://me.csdn.net/follow/weixin_40908748";
$txt = file_get_contents($blog);
$follows = array();
$follows = findFollowLinks($txt);
outputStatistics($blog,$follows);



程序运行结果:

伪爬虫:实现CSDN博客访问人数统计功能_第8张图片

伪爬虫:实现CSDN博客访问人数统计功能_第9张图片

你可能感兴趣的:(【Php】,伪爬虫,php爬虫,csdn博客排名,csdn博客访问数统计,爬虫)