新闻中心

使用 R 提取新闻文章中的有效文本

2025-11-02
浏览次数:
返回列表

使用 r 提取新闻文章中的有效文本

本文介绍如何使用 R 语言提取网页中的有效文本内容,去除无关的 HTML 标签、特殊字符和非文本信息。通过结合 `htm2txt`、`quanteda` 和 `qdapDictionaries` 等 R 包,实现从网页抓取文本并过滤掉非英文单词,从而获得更干净、更易于分析的文章内容。

在进行文本分析、自然语言处理或信息检索等任务时,经常需要从网页中提取文本数据。然而,直接从 HTML 页面提取的文本往往包含大量的噪音,例如 HTML 标签、J*aScript 代码、CSS 样式以及各种特殊字符。这些噪音会严重影响后续分析的准确性和效率。本文将介绍一种使用 R 语言提取网页有效文本的方案,通过结合多个 R 包,实现网页文本的清洗和过滤。

方案概述

该方案的核心思路是:

  1. 使用 htm2txt 包提取网页的纯文本内容。 htm2txt 包可以将 HTML 页面转换为纯文本,去除大部分 HTML 标签。
  2. 使用 quanteda 包进行文本预处理。 quanteda 包提供了强大的文本处理功能,可以进行分词、去除标点符号、去除数字等操作。
  3. 使用 qdapDictionaries 包过滤非英文单词。 qdapDictionaries 包包含一个常用的英文单词字典,可以用于过滤掉文本中不是英文单词的内容。

详细步骤

以下是详细的代码示例,展示了如何使用 R 语言提取网页中的有效文本:

逍遥内容管理系统(Carefree CMS)1.3.0 逍遥内容管理系统(Carefree CMS)1.3.0

系统简介逍遥内容管理系统(CarefreeCMS)是一款功能强大、易于使用的内容管理平台,采用前后端分离架构,支持静态页面生成,适用于个人博客、企业网站、新闻媒体等各类内容发布场景。核心特性1、模板套装系统 - 支持多套模板自由切换,快速定制网站风格2、静态页面生成 - 一键生成纯静态HTML页面,访问速度快,SEO友好3、文章管理 - 支持富文本编辑、草稿保存、文章属性标记、自动提取SEO4、全

逍遥内容管理系统(Carefree CMS)1.3.0 1 查看详情 逍遥内容管理系统(Carefree CMS)1.3.0
library(tidyverse)
library(htm2txt)
library(quanteda)
library(qdapDictionaries)
data(DICTIONARY)

# 定义要提取文本的 URL
url <- 'https://en.wikipedia.org/wiki/Alan_Turing'

# 使用 htm2txt 包提取网页的纯文本内容
text <- url %>% gettxt() %>% corpus()

# 使用 quanteda 包进行文本预处理
text <- tokens(text, remove_punct = TRUE, remove_numbers = TRUE)

# 使用 qdapDictionaries 包过滤非英文单词
text <- tokens_select(text, DICTIONARY$word)

# 将结果转换为数据框并统计词频
text <- data.frame(text = sapply(text, as.character), stringsAsFactors = FALSE) %>%
  group_by(text1 = tolower(text)) %>%
  table() %>% as.data.frame() %>%
  rename(word = text1) %>%
  rename(frequency = Freq)

# 显示词频最高的前几项
head(text)

代码解释:

  • library(tidyverse): 导入tidyverse包,包含dplyr, readr, ggplot2等常用数据处理和可视化工具。
  • library(htm2txt): 导入htm2txt包,用于从HTML页面提取文本。
  • library(quanteda): 导入quanteda包,用于文本分析和处理。
  • library(qdapDictionaries): 导入qdapDictionaries包,包含英文单词字典。
  • data(DICTIONARY): 加载qdapDictionaries包中的DICTIONARY数据集,包含英文单词列表。
  • url
  • text % gettxt() %>% corpus(): 使用gettxt()函数从URL提取文本,并使用corpus()函数创建quanteda语料库对象。
  • text
  • text word): 使用tokens_select()函数,根据DICTIONARY中的单词列表,选择只包含英文单词的token。
  • text
  • head(text): 显示词频最高的前几项。

注意事项

  • 此方法依赖于 qdapDictionaries 中的英文单词字典。如果需要处理其他语言的文本,需要使用相应的字典。
  • 即使使用了字典过滤,仍然可能存在一些非文章内容的单词,例如导航栏中的单词。需要根据实际情况进行进一步的过滤。
  • 该方法仅适用于包含英文单词的网页。对于其他语言的网页,需要使用相应的词典进行过滤。
  • 对于结构复杂的网页,可能需要使用更高级的 HTML 解析技术,例如使用 rvest 包选择特定的 HTML 节点进行提取。

总结

本文介绍了一种使用 R 语言提取网页有效文本的方案。该方案通过结合 htm2txt、quanteda 和 qdapDictionaries 等 R 包,实现了从网页抓取文本并过滤掉非英文单词,从而获得更干净、更易于分析的文章内容。这种方法可以应用于各种文本分析任务,例如情感分析、主题建模和关键词提取等。在实际应用中,可以根据具体需求对代码进行修改和优化,以获得更好的效果。

以上就是使用 R 提取新闻文章中的有效文本的详细内容,更多请关注其它相关文章!


# 如何使用  # 洛阳企业seo优化方案  # 北辰seo优化联系方式  # 怎么找项目推广网站推荐  # 如何做好暑期营销推广  # 高平seo优化的公司  # 赤峰抖音seo排名公司  # SeO32-键角  # 汕头抖音seo优化系统  # 赣州厂家网站建设公司  # 陕西西安抖音推广营销公司  # 特殊字符  # 如何做  # 几项  # css  # 转换为  # 过滤掉  # 适用于  # 自然语言  # 内容管理系统  # 关键词  # 自然语言处理  # 工具  # app  # html  # java  # word  # javascript 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: AWS EC2实例间SQL Server连接超时:安全组配置与故障排除指南  AI泡沫首次被“刺破”:GPU十年都无法存活!  C#中解析不规范的HTML为XML 常见的坑与解决办法  邮政快递包裹最新位置 邮政快递实时追踪入口  在J*a中如何开发简易电子商务商品管理系统_商品管理系统项目实战解析  在J*a中如何隐藏复杂性_使用门面模式组织对象交互  在Socket.IO连接中实现Access Token自动更新与动态重连  在J*a中如何开发简易博客标签推荐系统_博客标签推荐项目实战解析  J*aScript 字符串标签转换:使用正则表达式高效替换  J*aScript中高效管理与清空动态列表:避免循环陷阱  在Qt QML中通过Python字典动态更新TextEdit内容的教程  高德地图家和公司地址在哪设置 高德地图通勤路线设置方法【超详细】  Kafka Streams中基于消息头条件过滤消息的实现指南  Yandex搜索引擎一键访问入口_俄罗斯Yandex官网免登录  Excel组合图表怎么做 Excel创建柱状图与折线组合图教程【图表】  在Go语言中利用后缀数组处理多字符串:实现高效文本匹配与自动补全  Win11怎么查看电脑配置_Win11硬件配置检测工具使用  将JSON对象数组转置为键值对列表的实用指南  ArrayList与LinkedList核心操作的Big-O复杂度分析  怎样更改Windows系统的默认安装路径_避免C盘爆满的终极设置【技巧】  LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别  一加 14R 快充无反应_一加 14R 充电优化  Python实现多节点属性重叠度分析教程  Win11怎么开启高性能模式_Windows 11电源计划优化设置  GemBox Document HTML转PDF垂直文本渲染问题及解决方案  漫蛙2在线漫画入口 漫蛙正版漫画网页版直达  C++如何实现线程池_C++11手动实现一个简单的固定大小线程池  《铁拳8》黑皮辣妹新实机:元气满满的18岁少女!  不同用户不同价格! 索尼开启账户个性化定价测试  Windows电脑怎么截图最方便_系统自带截图工具的5种神仙用法【技巧】  qq浏览器如何查看和导出已保存的密码 qq浏览器密码管理器数据备份教程  如何将HTML表格多行数据保存到Google Sheets  大麦的“候补”是什么意思 大麦候补购票规则【详解】  使用Pandas转换并合并DataFrame:多列映射至统一结构  不会效仿卡普空!《铁拳》制作人澄清:不采取赛事付费|直播|  TikTok国际版官网直达_TikTok国际版官网直达进入在线观看  迅雷下载到U盘速度很慢怎么办_迅雷U盘下载慢优化方法  Lar*el如何正确地在控制器和模型之间分配逻辑_Lar*el代码职责分离与架构建议  Golang如何优雅处理error_Golang error处理最佳实践总结  J*aScript中管理异步API调用:确保操作顺序与数据一致性  Go语言中动态执行代码字符串的策略与实践  Mac怎么锁定备忘录_Mac备忘录加密设置教程  QQ邮箱网页版入口登录 QQ邮箱在线邮箱官方通道  jQuery Mask 插件中实现电话号码固定前导零的教程  高德地图总提示网络异常怎么办 高德地图离线导航设置与网络排查方法  J*a编写用户注册与登录功能_掌握字符串与验证逻辑  Win11如何开启讲述人功能 Win11屏幕阅读器(讲述人)开启与关闭【教程】  HTML转PPT成品工具有哪些?HTML网页转PPT成品工具大全  Golang如何通过reflect操作map_Golang reflect map操作与遍历技巧  Win11蓝牙耳机断连怎么解决 Win11蓝牙设置重新配对与驱动更新【技巧】 

搜索