爬取百度热点新闻标题之可视化

编写获取新闻标题的代码

之前写过获取新闻标题的代码,请看:
link

编写可视化代码

“jieba”库简单介绍

"jieba"也就是俗称的结巴,是为了中文分词的python库。
这里通过代码简单介绍jieba中的精确模式和全模式:

import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("精确模式: " + "/ ".join(seg_list))# 精确模式

seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("全模式: " + "/ ".join(seg_list))  # 全模式

结果

精确模式:/ 来到/ 北京/ 清华大学
全模式:/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学

本次可视化展示运用精确模式
关于结巴的更多信息:
link

"wordclud"库简单介绍

在完成分词后,我们当然会希望出现次数多的词更清晰得显示,wordcloud 库帮我们完成形成词云的功能,再存储为图片文件即可。

import wordcloud
# 配置对象参数
w = wordcloud.WordCloud()
# 加载词云文本
w.generate("I love you!")
# 输出词云文件
w.to_file("词云.png")

结果:
在这里插入图片描述
关于wordcloud库更多信息:
link

完整代码及注释

from requests_html import HTMLSession
import jieba
from wordcloud import WordCloud

def get_news():#定义一个获取新闻标题的函数
    ams_news_titles = []
    session = HTMLSession()
    r = session.get('https://news.baidu.com/')
    title_baidu1 = r.html.find('#pane-news > div > ul > li.hdline0 > strong > a', first=True)
    ams_news_titles.append(title_baidu1.text)
    title_baidu2 = r.html.find('#pane-news > ul:nth-child(n) > li.bold-item > a')
    for title in title_baidu2:
        ams_news_titles.append(title.text)
    return ams_news_titles
seg_list = jieba.cut(''.join(get_news()), cut_all=False)#结巴分词,精确模式
word_split = " ".join(seg_list)#转换成字符串
my_word = WordCloud(background_color='white',font_path = 'C:\Windows\Fonts\simhei.ttf',max_words = 100,width = 1600,height = 800)#设置可视化图形的背景,高度,宽度......
my_word = my_wordclub.generate(word_split)
my_word.to_file('可视化' + '.png')#存入文件

运行结果

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值