我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python实现统计文章阅读量的方法详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python实现统计文章阅读量的方法详解

前言

写这次博客其实事出有因,前几天呢,一个非常优秀的学姐在QQ空间里晒了自己的CSDN博客的总阅读量,达到了7万+,很厉害了,而且确实她的博文都是精髓,我就也想来看看我的博客总阅读量了,看看什么时候能达到人家的高度,但是博客园偏偏就没有这个功能(CSDN是可以直接在首页看的)。于是乎,想尽一切办法,要来统计阅读量了,看看别人写的使用其他的统计工具,把代码放在博客园的公告栏,我也就放了个站长联盟的统计代码(具体操作可以百度,免费申请账号的),虽然,它统计的数据更多,但是呢,它只能统计我从使用这个工具之后的访问量,也就是,到现在为止,我的所有博客到底拥有多少的阅读量,还是没能统计出来,那不还是没解决问题嘛,这就很尴尬了。。。

坐在电脑前,发了一会呆,突然,想起来,哎,这下学的Python爬虫或许可以派上用场了,于是乎,我就开始了愉快的爬虫统计阅读量之路,其实也很简单,抓取博客园博文的每一页,然后利用xpath解析出阅读量,然后进行加和就行了,为了做持久化,随时看看阅读量的增加情况,我就写入了一个文本文件,每次就两行内容,查询时间和总阅读量,当然,我在控制台可以清晰的查看每页每条博文的阅读量。这下可总算是把问题解决了,182篇博文,总阅读量:35205,差不多是学姐的一半,继续努力,看明年毕业时能不能达到学姐的高度,下面是最终的代码,当然还有很多不足之处,希望大家多多指教

实现代码

#导入需要的模块
import time
import requests
from lxml import etree

#进行UA伪装
headers={
    "User-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
}
#创建文件,存储爬到的数据,做持久化,以追加的方式打开,可读可写
fp=open('./counter.txt','a+',encoding = 'utf-8')
#记录当前查询时间
select_time=time.strftime('%Y.%m.%d %H:%M:%S ',time.localtime(time.time()))
fp.write('查询的时间为:'+select_time+'\n')
def spider():
    #总阅读量
    counts=0
    #分页爬取数据加和
    for page_num in range(1,20):
        #设置url
        url="https://www.cnblogs.com/andrew3/default.html?page=%d"
        new_url=format(url%page_num)
        #获取页面数据
        page_text=requests.get(url=new_url,headers=headers).text
        tree=etree.HTML(page_text)
        #解析数据,得到每页每篇博文的阅读量
        count_list=tree.xpath('//div[@class="forFlow"]/div/div[@class="postDesc"]/span[1]/text()')
        print(count_list)
        #每一页的阅读量
        sum=0
        #计算每页的阅读量
        for i in range(len(count_list)):
            sum+=int(count_list[i][3:len(count_list[i])-1])
        #计算总阅读量
        counts+=sum
        #打印每页每篇博文的阅读量
        print(sum,counts)
    #总阅读量持久化
    fp.write("总阅读量为:%s" % counts + '\n')
#关闭文件,释放资源
def close_file():
    fp.close()
def main():
    spider()
    close_file()
if __name__ == '__main__':
    main()

效果图

到此这篇关于Python实现统计文章阅读量的方法详解的文章就介绍到这了,更多相关Python统计文章阅读量内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python实现统计文章阅读量的方法详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python实现统计文章阅读量的方法详解

这篇文章主要为大家详细介绍了如何溧阳Python语言实现统计文章阅读量的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
2023-02-14

dedecms5.7文章二次开发实现阅读全文功能的方法

本文实例讲述了dedecms5.7文章二次开发实现阅读全文功能的方法。分享给大家供大家参考。具体分析如下: 阅读全文功能其实在很多的流行站点都有的,比如网易,新浪等,随着文章内容的增加,当一个页面有多个分页的时候,就会显示出这个&ldquo
2022-06-12

dede中统计栏目文章数的2种实现方法

方法一: 涉及到文件:include/common.func.php 在include/common.func.php最下面也就是?>前加入以下代码 复制代码代码如下: function GetTotalArc($tid){ global
2022-06-12

Python实现统计文本文件字数的方法

本文实例讲述了Python实现统计文本文件字数的方法。分享给大家供大家参考,具体如下: 统计文本文件的字数,从当前目录下的file.txt取文件# -*- coding: GBK -*- import string import sys r
2022-06-04

Typecho插件实现添加文章目录的方法详解

这篇文章主要为大家详细介绍了如何实现为Typecho插件实现添加文章目录的功能,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下
2023-02-19

C语言实现读取CSV文件的方法详解

这篇文章主要为大家详细介绍了C语言如何实现读取CSV文件,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
2022-12-21

Java实现读取Jar文件属性的方法详解

这篇文章主要为大家详细介绍了如何利用Java语言实现读取Jar文件属性的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
2022-11-13

Java实现读取项目中文件(.json或.properties)的方法详解

这篇文章主要为大家详细介绍了Java实现读取项目中文件的方法,例如.json或.properties,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
2023-05-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录