0. 写在最前面
日常用CSDN来记录和总结自己学习到的知识,写着写着越来越多的时候,就希望能有一些快捷的工具帮助自己管理。无奈CSDN提供的功能太少,网上找到的又都太老,只能自己动手写了。这些代码都托管到github上,有问题大家可以在issue中讨论,会持续更新。目前主要是在Linux下进行管理,等有时间了丰富下Windows下的
github地址:https://github.com/HaoQChen/CSDN_tools(记得点赞哦)
1. 阅读数量统计
网上查找了一下,发现大家都是通过Python设计爬虫,爬取CSDN页面数据进行分析的。我这里没有使用BeautifulSoup
解析html文件,而是使用了最笨的文本匹配的方法。
具体大家可以到你自己的博客首页,比如我的是https://blog.csdn.net/u013834525按Ctrl+s
,将html文件保存到本地之后通过文本编辑器打开,搜索一下阅读数
这三个字你就懂了。其实我们需要的信息都在这里,我们需要做的就是将其提取出来。
最终效果如下图所示:
分为三个工作表,visited
记录了每篇文章随日期的阅读数变化,commented
记录了每篇文章随日期的评论数量变化,total
则记录了博主的原创数量、粉丝数量、喜欢数量、访问量及排名等信息随时间的变化。
详细代码参考github中的CSDN_visited_num.py,你只需要将base_url
变量替换为自己的博客首页,pages
为你自己的博客页数,record_file
替换为你想要保存的地址即可。想看代码的话,里面注释应该能看懂?
注:xlutils
、xlrd
、xlwt
这三个模块是用来进行xls文件读写的,如果没有安装,可以通过以下命令安装:
sudo pip install xlutils
sudo pip install xlrd
sudo pip install xlwt
2. 自动运行脚本
每次都要自己手动运行统计程序太麻烦了,可以使用系统的定时任务自动运行。因为博主经常在Ubuntu系统和Windows系统下切换,所以采用github进行数据同步,如果你们仅在一个系统一台机器运行可以将不使用同步功能。
2.1 Ubuntu系统下(其他Linux应该差不多)
安装Python git相关模块:
sudo pip install gitpython
3. 文章头尾
文章头尾想添加一些个人的宣传信息,但存在改变的可能,比如哪天我就不是学生了,开头个人介绍就要改。每次改一大堆文章有点麻烦,曾经想过在本地用脚本批量修改markdown文件,然后用Python爬虫批量更新博文,后来发现这种爬虫还要登陆CSDN、模拟按键,有点麻烦就放弃了。后来又想通过插入<iframe>的形式,插入另一个md文件或者html文件,通过修改这个文件达到统一修改头尾的目的,结果插入<iframe>一直不成功。。。也放弃了。
现在是通过在github放置首尾的图片,然后引用该图片,如果想要修改的话直接update该图片即可,效果如本文所示,缺点是链接只能固定一个。在md文件中的格式为:
[![bottom](https://raw.githubusercontent.com/HaoQChen/CSDN_tools/master/bottom.jpg)](https://github.com/HaoQChen/HaoQChen.github.io)
需要注意的是,github中上传的图片实际地址在https://raw.githubusercontent.com
中,即该图片的下载地址,而不是https://github.com
底部的艺术字是网上随便找的一个网站,对齐是通过word的表格,然后将表格复制,通过图片粘贴的形式粘贴到PPT中再另存为图片。
参考
Python爬虫获取文章的标题及你的博客的阅读量
用python爬虫监控CSDN博客阅读量
Python处理Excel文档(xlrd, xlwt, xlutils)