基础Python(文本信息获取与词频统计)

文本信息获取与词频统计

内容:

        基于正则表达式获取网站网页的部分文字信息,进行词频统计,绘制词云图。

源代码:

import re
from urllib.request import urlopen
import jieba
import wordcloud
import matplotlib.pyplot as plt

startUrl = r'http://ccs.snnu.edu.cn/xygk/lsyg1.htm'
with urlopen(startUrl) as fp:
    content = fp.read().decode()  
print(content)
pattern = re.compile(u'<p.*?<span style="background.*?>(.*?)</span>.*?' +
                     '<span style="background.*?>:(.*?)</span>(.*?)</span></p>', re.I)
result = re.findall(pattern, content)
print(result)
file_test = open('test_example', 'w', encoding='utf-8')

result_str = ""
for item in result:
    print(item[0], item[1], item[2])
    result_str += ''.join(item)
    file_test.write('时间:' + item[0] + '\r\n')
    file_test.write('事件:' + item[1] + item[2] + '\r\n')
file_test.close()

words = jieba.lcut(result_str)
words_str = ' '.join(words)
stat_dict = {}
for element in words:
    stat_dict[element] = stat_dict.get(element, 0) + 1
print(stat_dict)
wc = wordcloud.WordCloud(
    r'C:\\windows\\fonts\\simfang.ttf', width=500, height=400,
    background_color='white', font_step=3,
    random_state=False, prefer_horizontal=0.9)

craw_stat = wc.generate(words_str)
craw_stat.to_image().save('craw_stat.png')
plt.imshow(wc)
plt.axis('off')
plt.show()

运行结果:

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值