【python】python新闻内容zhua取分析词云可视化(源码)【独一无二】

news2024/10/10 14:28:40

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


【python】python新闻内容获取分析词云可视化(源码)【独一无二】


目录

  • 【python】python新闻内容获取分析词云可视化(源码)【独一无二】
  • 一、设计要求
  • 二、功能展示
    • 2.1. zhua取内容
    • 2.2. 词频统计
    • 2.3. 词云展示
  • 三、代码分析


一、设计要求

通过对搜狐新闻网页的内容进行获取和处理,提取其中的中文文本信息。然后利用正则表达式去除非中文字符,使用jieba库进行中文分词,并过滤停用词。接着统计各词语的词频并按照词频降序排序,最后输出词频最高的前50个词汇。同时,根据词频生成词云图,展示文本数据的可视化结果。

网站的内容如下:

在这里插入图片描述

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 新闻分析 ” 获取。👈👈👈

主要功能实现如下:

  1. 使用 requests 库发送请求并获取指定网页的内容。
  2. 使用 BeautifulSoup 库解析网页内容,提取文本信息。
  3. 使用正则表达式去除非中文字符,只保留中文文本内容。
  4. 使用 jieba 进行中文分词。
  5. 过滤停用词(如’的’、‘和’、'是’等),并对分词结果进行处理。
  6. 统计分词后各词语的词频,显示柱状图。
  7. 对词频进行降序排序,并输出词频最高的前50个词。
  8. 指定中文字体文件路径,生成词云图。
  9. 显示生成的词云图。

二、功能展示

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 新闻分析 ” 获取。👈👈👈

2.1. zhua取内容

在这里插入图片描述

2.2. 词频统计

工作: 10
报告: 10
发展: 10
政府: 8
生态环境: 5
一年: 5
江苏: 4
全文: 3
十三届: 3
全国人大: 3
五次: 3
会议: 3
新华社: 3
经济社会: 3
任务: 3
主要: 3
目标: 3
增长: 3
改善: 3
实施: 3
江苏省: 3
来源: 2
李克强: 2
总理: 2
代表: 2
国务院: 2
回顾: 2
二年: 2
总体: 2
要求: 2
政策: 2
取向: 2
三年: 2
指出: 2
统筹: 2
全年: 2
十四五: 2
今年: 2
左右: 2
城镇: 2
新增: 2
就业: 2
以上: 2
控制: 2
经济: 2
基本: 2
保持: 2
持续: 2
着力: 2
创新: 2

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 新闻分析 ” 获取。👈👈👈

使用柱状图展示词频前10名的字段。柱状图如下:

在这里插入图片描述

2.3. 词云展示

在这里插入图片描述


三、代码分析

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 新闻分析 ” 获取。👈👈👈

  1. 导入所需的库:

    import requests
    from bs4 import BeautifulSoup
    import jieba
    import matplotlib.pyplot as plt
    import re
    

    代码导入了执行任务所需的库:

    • requests:用于向网页发送HTTP请求。
    • BeautifulSoup:从bs4库,用于解析HTML和XML文档。
    • jieba:一个中文分词库,用于处理中文文本。
    • matplotlib.pyplot:用于数据可视化。
    • re:正则表达式库,用于文本处理。
  2. 获取网页内容:

    url = "源码获取 关注【测试开发自动化】公众号,回复 “ 新闻分析 ” 获取。"
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    

    requests库获取指定URL的内容,然后使用BeautifulSoup解析HTML文档。

  3. 提取和处理文本内容:

    text_content = soup.get_text()
    text_content = re.sub(r"源码获取 关注【测试开发自动化】公众号,回复 “ 新闻分析 ” 获取。", "", text_content)
    

    soup.get_text()从HTML中提取所有文本。接着用正则表达式删除非中文字符。

    👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 新闻抓取分析 ” 获取。👈👈👈

  4. 分词和过滤停用词:

    words = jieba.cut(text_content)
    stop_words = set(['的', '和', '是', '在', '了', '等'])
    

    使用jieba.cut进行分词,然后过滤掉一些常见的停用词和单字词。

  5. 词频统计:

    word_freq = {}
    for word in filtered_words:
        if word in word_freq:
            word_freq[word] += 1
        else:
            word_freq[word] = 1
    

    对分词后的词进行频率统计,记录每个词出现的次数。

    👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 新闻抓取分析 ” 获取。👈👈👈

  6. 选取前50个高频词汇:

    源码获取 关注【测试开发自动化】公众号,回复 “ 新闻分析 ” 获取。
    

    将词频字典按频率降序排序,并选取前50个高频词。

  7. 绘制柱状图:

    words, freqs = zip(*sorted_word_freq)
    plt.figure(figsize=(10, 6))
    plt.bar(words, freqs)
    plt.xlabel('词语')
    plt.ylabel('词频')
    plt.xticks(rotation=45)
    plt.title('Top 10 Words Frequency Bar Chart')
    plt.show()
    

    使用matplotlib绘制柱状图,展示这十个词及其频率。

  8. 绘制词云图:

    👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 新闻分析 ” 获取。👈👈👈

    
    # 显示词云图
    plt.figure(figsize=(10, 5))
    plt.imshow(wordcloud, interpolation='bilinear')
    plt.axis('off')
    plt.show()
    

总体来说,这段代码通过抓取网页内容,提取中文文本,进行分词和词频统计,最后以柱状图的形式展现出最常见的10个词汇。这是一个结合了网络爬虫、自然语言处理和数据可视化的实用脚本。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 新闻分析 ” 获取。👈👈👈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1568014.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis的基础操作

目录 一、Redis命令工具 1.redis-cli 命令行工具 2.redis-benchmark测试工具 3.Redis数据库五大类型 1、String 2、List 3、Hash(散列类型) 4、set无序集合 5、sorted set 二、Redis数据库常用命令 1、set与get的使用 2.查看数据库中键的情况…

深度学习:神经网络模型的剪枝和压缩简述

深度学习的神经网路的剪枝和压缩,大致的简述, 主要采用: network slimming,瘦身网络... 深度学习网络,压缩的主要方式: 1.剪枝,nerwork pruing, 2.稀疏表示,sparse rep…

基于向量数据库搭建自己的搜索引擎

前言【基于chatbot】 厌倦了商业搜索引擎搜索引擎没完没了的广告,很多时候,只是需要精准高效地检索信息,而不是和商业广告“斗智斗勇”。以前主要是借助爬虫工具,而随着技术的进步,现在有了更多更方便的解决方案&…

2024-HW --->SSRF

这不是马上准备就要护网了嘛,如火如荼的报名ing!!!那么小编就来查缺补漏一下以前的web漏洞,也顺便去收录一波poc!!!! 今天讲的主人公呢就是SSRF,以前学的时候…

QA测试开发工程师面试题满分问答5: 内存溢出和内存泄漏问题

概念阐述 内存溢出(Memory Overflow)和内存泄漏(Memory Leak)是与计算机程序中的内存管理相关的问题,它们描述了不同的情况。 内存溢出是指程序在申请内存时,要求的内存超出了系统所能提供的可用内存资源…

不到2000字,轻松带你搞懂STM32中GPIO的8种工作模式

大家好,我是知微! 学习过单片机的小伙伴对GPIO肯定不陌生,GPIO (general purpose input output)是通用输入输出端口的简称,通俗来讲就是单片机上的引脚。 在STM32中,GPIO的工作模式被细分为8种…

N1912A安捷伦N1912A功率计

181/2461/8938产品概述: 安捷伦N1912A双通道P系列宽带功率传感器为R&D和制造工程师提供精确和可重复的功率测量,应用市场包括航空航天和国防(雷达)、无线通信和无线802.11a/b/g网络。该仪表/传感器组合提供的测量包括峰值功率…

XXLJob中GLUE模式实现在线编写java/shell/python/php/nodejs/powerShell---SpringCloud工作笔记202

1.起因: 之前就一直想实现类似的功能,今天总于找到有可以参考的东西了,这个思路可以帮助实现这种功能. 2.获得灵感 就是:我想实现通过在线编写代码,来扩展我们平台的能力,这样随着业务的扩展,不用我们每次都修改了代码,再去部署,这样就比较麻烦,今天偶尔发现,对于xxljob来说.有…

React 入门

一、官网地址 英文官网: https://reactjs.org/中文官网: https://react.docschina.org/ 二、React 特点 声明式编码组件化编码React Native 编写原生应用高效(优秀的 Diffing 算法)高效的原因:1.使用虚拟DOM,不总是直接操作页面…

从 Redis 开源协议变更到 ES 国产化:一次技术自主的机遇

引言 近日,Redis Labs 宣布其主导的开源项目 Redis 将采用双重源代码可用许可证(RSALv2)和服务器端公共许可证(SSPLv1)。这一重大决策标志着 Redis 从传统的 BSD 许可证向更加严格的控制权转变,同时也引发…

AlexNet网络模型

AlexNet 是一个深度卷积神经网络,由 Alex Krizhevsky、Ilya Sutskever 和 Geoffrey Hinton 在 2012 年的 ImageNet 大规模视觉识别挑战赛(ILSVRC)中首次提出并获得了显著的成功。它是深度学习历史上一个里程碑式的模型,对后来的深…

如何使用PL/SQL Developer工具导出clob字段的表?

1 准备测试数据 导出测试对象:表test_0102,others字段为clob类型 --创建中间表test_0101 create table test_0101( id number, name varchar2(20), others clob);--插入100条测试数据 beginfor i in 1..100 loopinsert into test_0101 values(i,i||_a,l…

文件批量重命名管理,一键将图片的名称进行统一重命名,高效管理文件

在数字时代,我们的生活中充满了各种文件,特别是图片文件。随着时间的推移,我们可能会遇到这样的问题:文件命名不规范,难以快速找到需要的图片。这时,一款强大的文件批量重命名管理工具就显得尤为重要。 首…

JavaScript(一)基础

文章目录 一、JS介绍JavaScript是什么JavaScript书写位置JavaScript的注释输入输出语法字面量 二、变量变量是什么变量基本使用变量的本质变量命名规则与规范变量拓展-数组var与let的区别 三、常量四、数据类型数据类型检测数据类型数据类型转换隐式转换显式转换 简单运算符断点…

git分支-基本分支与合并

问题假设 让我们通过一个简单的分支和合并的例子,演示在实际工作中可能会使用的工作流程。将按照以下步骤进行: 在网站上进行一些工作。为正在开发的新用户故事创建一个分支。在该分支上进行一些工作。 在这个阶段,我们可能会接到一个电话…

LC 144.二叉树的前序遍历

二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入: root [1,null,2,3] 输出:[1,2,3] 示例 2: 输入: root [] 输出:[] 示例 3: 输入&…

2024年 CS2最佳游戏启动项

引言: Counter-Strike 2(CS 2)是一款备受瞩目的游戏,而启动选项则是影响游戏性能和体验的关键因素之一。然而,有关所有选项都应该强制使用的说法并不正确。事实上,大多数选项可能对某些计算机并不适用&…

go 指针和内存分配

定义 了解指针之前,先讲一下什么是变量。 每当我们编写任何程序时,我们都需要在内存中存储一些数据/信息。数据存储在特定地址的存储器中。内存地址看起来像0xAFFFF(这是内存地址的十六进制表示)。 现在,要访问数据…

讲讲你对数据结构-线性表了解多少?

线性表 - 数组和矩阵 当谈到线性表时,数组和矩阵是两种常见的数据结构。 数组(Array): 数组是有序的元素集合,可以通过索引来访问和操作其中的元素。它是最简单、最基本的数据结构之一。数组的特点包括: …

ctf_show笔记篇(web入门---SSRF)

ssrf简介 ssrf产生原理: 服务端存在网络请求功能/函数,例如:file_get_contens()这一类类似于curl这种函数传入的参数用户是可控的没有对用户输入做过滤导致的ssrf漏洞 ssrf利用: 用于探测内网服务以及端口探针存活主机以及开放服务探针是否存…