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

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

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

代码如下,读取目录和文件,然后做成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()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容