爬虫分析唐诗三百首(二)

2019-06-09  本文已影响0人  元芳hi

上篇讲通过爬虫将唐诗三百首按目录下载下来,接下来可以做一点简单分析:看看哪些诗人被收录的诗作最多。

先看结果,诗作数量排名前二十的,名气大果然不是盖的:

代码如下,读取目录和文件,然后做成pandas的DataFrame,按诗人groupby,然后size倒排序,取前二十,然后用matplotlab展示处理。matplotlab中文问题,我就直接下载了一个simhei.ttf,放在代码目录里,然后指定。

再下一篇我会按照诗人的生平来排,看看谁活得最久,谁在哪个时代,经历了安史之乱。

import pandas as pd

import os

import matplotlib.pyplot as plt

import matplotlib as mpl

poems =[] #诗词列表

author_path='唐诗三百首'

authors=os.listdir(author_path)

for author in authors :

    poem_files= os.listdir(author_path+'/'+str(author))

    for poem_file in poem_files :

        poem ={}

        title=str(poem_file)[:-4]

        poem["诗词"]=title

        poem["诗人"]=str(author)

        poems.append(poem)

poem_data=pd.DataFrame(poems)

print(poem_data)

#支持中文,要指定下

mpl.rcParams['font.sans-serif'] = ['SimHei']

#按诗人分组,然后排序,然后只取前10

author_data=poem_data.groupby('诗人').size().sort_values(ascending=False).head(20)

author_data.plot(kind='barh',figsize=(10,6))

plt.show()

上一篇下一篇

猜你喜欢

热点阅读