Python可视化展现—看博客大佬们的写作规律

51 篇文章 2 订阅
41 篇文章 2 订阅

《使用BeautifulSoup爬取CSDN博客文章》这篇文章中,我们使用了BeautifulSoup爬取了CSDN博客的访问情况以及文章列表信息,紧接着,我们可以做一些更好玩的事情,比如:分析下这些排名靠前的一些博客写作规律等信息,我们首先按时间维度分析下这些“博客大佬们“的产量信息:
我们定义一个dict用以记录博客发表年份与发表文章数量关系,修改walk_tree如下:

article_dict = {}


def walk_tree_c(html, num):
    for li in html.find_all("li"):
        num = num + 1
        print("%s %s %s%s" % (num, li.h3.a.string, CSDN_BLOG_URL, li.h3.a["href"]))
        for d in li.find_all("div"):
            if "class" in d.attrs and str.strip(d["class"][0]) == "unit-control":
                print(d.div.find_all("div")[0].string + ",发表时间:" + d.div.find_all("div")[1].string + ",阅读量:" +
                      d.div.find_all("div")[2].span.string + ",评论数:" + d.div.find_all("div")[3].span.string)
                t_value = d.div.find_all("div")[1].string
                year = int(str.strip(t_value)[0:4])
                if article_dict.get(year, 0) == 0:
                    article_dict[year] = 1
                else:
                    article_dict[year] = article_dict[year] + 1

    return num

文章年份处理

t_value = d.div.find_all(“div”)[1].string
year = int(str.strip(t_value)[0:4])
if article_dict.get(year, 0) == 0:
    article_dict[year] = 1
else:
    article_dict[year] = article_dict[year]

获取到了文章发表年份与文章列表总数之后,我们使用matplotlib.pyplot来进行绘图展现,当然,因为dict是无序存储的,所以在进行展现之前,我们先对article_dict处理一下

year_list = []
num_list = []
for key in article_dict:
    year_list.append(key)
year_list.sort()
for y in year_list:
    num_list.append(article_dict[y])

print(article_dict)

然后,我们使用matplotlib.pyplot展现

plt.plot(year_list, num_list)
plt.xlabel("year")
plt.ylabel("number")
plt.xticks(year_list)
plt.title("CSDN Blog Statistics")
plt.show()

结果查看:

比如对于:http://blog.csdn.net/phphot

这里写图片描述

比如,对于:http://blog.csdn.net/littletigerat

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值