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

 更新时间:2023年02月14日 14:11:11   作者:极限之旅  
这篇文章主要为大家详细介绍了如何溧阳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统计文章阅读量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python常见数字运算操作实例小结

    Python常见数字运算操作实例小结

    这篇文章主要介绍了Python常见数字运算操作,结合实例形式总结分析了Python数字常见的四则运算、整除、取余、开平方等相关操作技巧与注意事项,需要的朋友可以参考下
    2019-03-03
  • 关于pytorch中网络loss传播和参数更新的理解

    关于pytorch中网络loss传播和参数更新的理解

    今天小编就为大家分享一篇关于pytorch中网络loss传播和参数更新的理解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 使用python实现简单爬取网页数据并导入MySQL中的数据库

    使用python实现简单爬取网页数据并导入MySQL中的数据库

    这篇文章主要为大家详细介绍了如何使用 python 实现简单爬取网页数据并导入 MySQL 中的数据库,对我们的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-06-06
  • Python实现一元一次与一元二次方程求解

    Python实现一元一次与一元二次方程求解

    这篇文章主要为大家详细介绍了如何利用Python实现一元一次与一元二次方程的求解,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • python入门课程第四讲之内置数据类型有哪些

    python入门课程第四讲之内置数据类型有哪些

    这篇文章主要介绍了python入门课程第四讲之内置数据类型有哪些?本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Python字符串编码转换 encode()和decode()方法详细说明

    Python字符串编码转换 encode()和decode()方法详细说明

    这篇文章主要介绍了Python字符串编码转换 encode()和decode()方法详细的说明,下面文章围绕encode()和decode()方法的相相关资料展开内容,具有一定的价值,需要的朋友卡通参考一下
    2021-12-12
  • python绘图模块matplotlib示例详解

    python绘图模块matplotlib示例详解

    这篇文章主要介绍了python绘图模块matplotlib示例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python实现自动发送测试报告邮件的示例代码

    Python实现自动发送测试报告邮件的示例代码

    SMTP也就是简单邮件传输协议,是一种提供可靠且有效电子邮件传输的协议,python的smtplib模块就提供了一种很方便的途径发送电子邮件,它对smtp协议进行了简单的封装,下面就来和大家简单聊聊吧
    2023-07-07
  • Pycharm如何自动生成头文件注释

    Pycharm如何自动生成头文件注释

    这篇文章主要介绍了Pycharm如何自动生成头文件注释,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python3+PyQt5实现拖放功能

    python3+PyQt5实现拖放功能

    这篇文章主要为大家详细介绍了python3+PyQt5实现拖放功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04

最新评论