大家好!我是Python进阶者。
前言
前几天一个在校大学生问了一些关于词频,分词和可视化方面的问题,结合爬虫,确实可以做点东西出来,可以玩玩,还是蛮不错的,这里整理成一篇文章,分享给大家。
本文主要涉及的库有爬虫库requests,词频统计库collections,数据处理库numpy,结巴分词库jieba ,可视化库pyecharts等等。总核数统计涉及所有的业务,包括政务云,天翼云和定制行业云。
关于数据方面,这里直接是从新闻平台上进行获取的文本信息,其实这个文本文件可以拓展开来,你可以自定义文本,也可以是报告,商业报告,政治报告等,也可以是新闻平台,也可以是论文,也可以是微博热评,也可以是网易云音乐热评等等,只要涉及到大量文本的,都可月引用本文的代码,进行词频分词,统计,可视化等。在国脉大厦的平台主机运营现场,研发团队设计的主视图显示中国电信在无锡各区域云业务的发展情况,包括客户数,总核数以及云桌面的在用情况。
二,数据获取
数据获取十分简单,一个简单的爬虫和存储就可以搞定,这里以一篇新闻为例进行演示,代码如下:
代码运行之后,在本地会得到一个文件,文件内容就是网站上的文本信息如果你想获取其他网站上的文本,需要更改下链接和提取规则
三,词频统计
接下来就是词频统计了,代码如下所示。。
首先读取文本信息,之后对文本进行预处理,提取文字信息,并且可以自定义词库,作为停用词,之后将获取到的词频做词频统计,获取前30最高频的词,并进行打印,输出结果如下图所示。无锡电信研发工程师朱晓亮介绍,设计这一平台是基于传统通信应用平台在支持更多用户中需要更强的计算能力,更稳定安全的后台支撑,电信企业在为节约政企单位为此不断增加的人力,设施和运维成本而努力。
四,可视化
接下来就是可视化部分了,这里直接上代码,如下所示。
importpyechartsfrompyecharts.chartsimportLinefrompyechartsimportoptionsasopts#示例数据cate=foriinword_counts_top30)data1=(i(1)foriinword_counts_top30)line=(Line().add_xaxis(cate).add_yaxis('词频',data1,markline_opts=opts.MarkLineOpts(data=(opts.MarkLineItem(type_="average")))).set_global_opts(title_opts=opts.TitleOpts(title="词频统计Top30",subtitle=""),xaxis_opts=opts.AxisOpts(name_rotate=60,axislabel_opts="rotate":45)))line.render_notebook()
输出结果是一个线图,看上去还不错。
五,总结
本文基于Python网络爬虫获取到的文本文件,通过词频,分词和可视化等处理,完成一个较为简单的项目,欢迎大家积极尝试。在代码实现过程中,如果有遇到任何问题,请加我好友,我帮助解决哦!
。声明:本网转发此文章,旨在为读者提供更多信息资讯,所涉内容不构成投资、消费建议。文章事实如有疑问,请与有关方核实,文章观点非本网观点,仅供读者参考。