美文网首页
学习Python系列之词云展示

学习Python系列之词云展示

作者: 西红柿炒番茄007 | 来源:发表于2020-02-24 22:08 被阅读0次

    爬取毛不易歌词作词云展示

    今天我们做一个数据可视化的项目,爬取毛不易的歌词做词云展示。

    1.爬取数据

    我们主要使用 Python 爬虫获取 HTML,用 XPath 对歌曲的 ID、名称进行解析,然后通过网易云音乐的 API 接口获取每首歌的歌词,最后将所有的歌词合并得到一个变量。`

    需要获取符合这个 XPath 的内容。我们通过分析 HTML 代码,能看到一个关键的部分:id=‘hotsong-list’。这个代表热门歌曲列表,也正是我们想要解析的内容。我们想要获取这个热门歌曲列表下面所有的链接,XPath 解析就可以写成 //*[@id=‘hotsong-list’]//a。然后你能看到歌曲链接是 href 属性,歌曲名称是这个链接的文本。

    获得歌曲 ID 之后,我们还需要知道这个歌曲的歌词,对应代码中的 get_song_lyric函数,在这个函数里调用了网易云的歌词 API 接口`

    2.设置停用词

    有一些常用词,比如’作词’, ‘作曲’, '编曲’等,我们可以把这些词设置为停用词,编写 remove_stop_words 函数,从文本中去掉:

    3.最后编写 create_word_cloud 函数,通过歌词文本生成词云文件。

    创建好 WordCloud 类之后,就可以使用 wordcloud=generate(text) 方法生成词云,传入的参数 text 代表你要分析的文本,最后使用 wordcloud.tofile(“a.jpg”) 函数,将得到的词云图像直接保存为图片格式文件。或者使用 Python 的可视化工具 Matplotlib 进行显示。

    4.结果展示

    5.总结

    前期的数据准备在整个过程中占了很大一部分。使用 Python 作为数据采集工具,利用Python爬虫和 XPath 解析。词云工具 WordCloud,它是一个很好用的 Python 工具,可以将复杂的文本通过词云图的方式呈现。需要注意的是,当我们需要使用中文字体的时候,比如黑体SimHei,就可以将 WordCloud 中的 font_path 属性设置为 SimHei.ttf,你也可以设置其他艺术字体,在给毛不易的歌词做词云展示的时候,我们就用到了艺术字体。

    完整代码放在了GitHub上,地址为https://github.com/Kenneth-He/Python/tree/master/Maomao

    欢迎关注微信公众号:蛋炒番茄

    分享文章、技术、资源!!!

    相关文章

      网友评论

          本文标题:学习Python系列之词云展示

          本文链接:https://www.haomeiwen.com/subject/yexgqhtx.html