Python3 获取CSDN博客文章的阅读数和评论量

阅读量上万以后,就看不到自己博客的精确访问量了。写了一个利用urllib加上正则匹配的Python3脚本来获取阅读数和评论量。

【原理】

1. 页面标签内容获取

通过搜索含有 span和对应class 的标签内容来获取阅读量
通过搜索含有<span class="read-num">(阅读数.*?)</span>的标签来获取阅读量
这里用re.findall来匹配。

2. 博客首页的list页面
进入每个博客首页的网址其实都是 blog.csdn.net/+你的用户名+/article/list/1
我们把最后的list/1改成list/2就是第二页的数据,以此类推,直到获取不了阅读数的标签时,代表所有的页面都爬过了。

【代码】

# coding=utf-8
import re
import urllib.request
import urllib

account = "u014549283"  # 输入你的账号

url = "https://blog.csdn.net/" + account + "/article/list/"
t = 0
read_num = 0
mark_num = 0
while 1:
    t += 1
    url_s = url + str(t)
    content = urllib.request.urlopen(url_s).read()
    content = content.decode('utf-8')
    num = re.findall(r'<span class="read-num">(阅读数.*?)</span>', content)  #获取阅读数
    if len(num) <= 0:
        break
    for i in num:
        read_num += int(re.findall('(\d+)', i)[0])
    mark = re.findall(r'<span class="read-num">(评论数.*?)</span>', content)  #获取评论数
    for i in mark:
        mark_num += int(re.findall('(\d+)', i)[0])
print("阅读数: " + str(read_num))
print("评论数: " + str(mark_num))

猜你喜欢

转载自blog.csdn.net/u014549283/article/details/81430319