词云生成

今天用一个最最最简单的例子说明 爬取数据—>数据保存and处理—>生成文章词云 (有手就能学废,么么么么么哒~)
  1. 数据的爬取
url = 'https://baijiahao.baidu.com/s?id=1667352390528014727&wfr=spider&for=pc'

headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36"
}

html = requests.get(url, headers=headers)

soup = bs(html.text, 'lxml')
p_tag = soup.find_all('p')
for i in p_tag:
    with open('./政府.txt', 'a+', encoding='utf-8') as f:
        f.write(i.getText()) 
  1. 数据的处理,用到了 jieba 库里的关键字提取
file_path = './政府.txt'
file = open(file_path, 'r', encoding="utf-8").read()
# jieba 库里的关键字提取方法, topK 表示的是提取前 30 个关键词 输入的是字符串,输出的列表
f = jieba.analyse.extract_tags(file, topK=30, withWeight=False)
f = ' '.join(f) # 将列表通过 join 来拼接成字符串
print(f) 

在这里插入图片描述

  1. 生成词云并存储, 显示
cloud = WordCloud(
    font_path="C:/Windows/Fonts/simfang.ttf", # 一定要设置字体, 不然中文会显示乱码
    background_color='black', # 设置词云的背景颜色 
    width=1000, # 设置宽度和个高度 , 如果通过 mask 设置了 这里就不用设置了 ,默认为 mask 的大小
    height=1000
    # mask=mask  # 这个是设置自定义背景图, 
).generate(f)  # 通过传入的文本来进行生成词云

# plt.imshow()函数负责对图像进行处理,并显示其格式,但是不能显示
plt.imshow(cloud, interpolation="bilinear")
plt.axis('off') # 隐藏坐标轴
cloud.to_file("./government_image.png") # 将生成的慈云进行保存
plt.show() 
  1. 效果图

在这里插入图片描述

  1. 这是一个十分简单的例子, 你也可以设置更好玩儿的参数来展示自己的个性, 如果文章哪里有错误, 请您在评论区指明,谢啦 !
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值