讲师中心 微信公众号
AI工具推荐 视频效率加速

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

轻明同学_2049

轻明同学_2049

发布时间:2025-11-01 09:50:01

|

814人浏览过

|

来源于php中文网

原创

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

本文介绍如何使用R语言从网页中提取有效的新闻文章文本。通过结合`htm2txt`、`quanteda`和`qdapDictionaries`等包,我们可以去除HTML标签、标点符号和数字,并筛选出存在于常用英语词典中的词汇,从而获得更干净、更具可读性的文本内容。

从网页抓取文本数据是数据分析和自然语言处理的常见任务。然而,直接从HTML页面提取的文本通常包含大量的噪声,例如HTML标签、导航链接、广告以及其他非文章内容的文本。为了获得更干净、更易于分析的文本,我们需要对提取的文本进行清洗和过滤。

以下是一个使用R语言提取并清洗网页文本的示例,它结合了多个R包的功能,以实现更精确的文本提取:

步骤 1: 安装和加载必要的R包

首先,确保你已经安装了以下R包。如果未安装,请使用install.packages()函数进行安装。

# 安装必要的R包
if(!require(tidyverse)){install.packages("tidyverse")}
if(!require(htm2txt)){install.packages("htm2txt")}
if(!require(quanteda)){install.packages("quanteda")}
if(!require(qdapDictionaries)){install.packages("qdapDictionaries")}

# 加载R包
library(tidyverse)
library(htm2txt)
library(quanteda)
library(qdapDictionaries)

步骤 2: 提取网页文本

使用htm2txt包中的gettxt()函数从指定的URL提取文本。

url <- 'https://en.wikipedia.org/wiki/Alan_Turing'
text <- gettxt(url)

步骤 3: 文本清洗和过滤

这一步是关键,我们将使用quanteda和qdapDictionaries包来清洗和过滤文本。

MiniMax Word
MiniMax Word

MiniMax Word专业文档生成 - 基于.NET OpenXML SDK,完整保留页眉页脚目录、修订痕迹、复杂表格样式,输出可直接交付的.docx文档。

下载
  1. 创建语料库 (Corpus): 将提取的文本转换为quanteda可以处理的语料库对象。

    text <- corpus(text)
  2. 分词 (Tokenization): 将语料库分割成单独的词语,并移除标点符号和数字。

    text <- tokens(text, remove_punct = TRUE, remove_numbers = TRUE)
  3. 词汇过滤: 使用qdapDictionaries包中的DICTIONARY数据集,该数据集包含了常用的英语单词。我们只保留出现在该词典中的词语。

    data(DICTIONARY)
    text <- tokens_select(text, DICTIONARY$word)
  4. 统计词频: 将清洗后的文本转换为数据框,并统计每个单词的出现频率。

    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)

步骤 4: 查看结果

查看清洗和过滤后的文本数据。

head(text)

这段代码将显示词频最高的前几个单词,这些单词应该是文章中的有效文本。

注意事项和总结

  • 依赖于词典: 这种方法依赖于qdapDictionaries提供的词典。如果文章中包含不在词典中的专业术语或生僻词汇,它们将被过滤掉。可以考虑自定义词典,以包含这些特定领域的词汇。
  • 网页结构差异: 虽然这种方法在很多情况下有效,但不同的网站结构可能导致提取的文本包含一些噪音。针对特定的网站,可能需要进行定制化的处理。
  • 停用词移除: 可以考虑移除常见的停用词(例如 "the", "a", "is" 等),以进一步提高文本质量。quanteda包提供了停用词列表,可以使用tokens_remove()函数移除停用词。
  • 进一步处理: 提取的文本还可以进行词干提取(stemming)或词形还原(lemmatization)等进一步处理,以提高后续分析的准确性。

总而言之,使用R语言结合htm2txt、quanteda和qdapDictionaries等包,可以有效地从网页中提取并清洗文本数据。通过调整代码中的参数和方法,可以针对不同的网页结构和分析需求进行优化。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

更多
Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

60

2026.09.23

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

20

2026.09.23

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

20

2026.09.23

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

20

2026.09.22

Conan二进制包配置指南
Conan二进制包配置指南

本专题介绍Conan根据操作系统、编译器、架构和构建类型生成二进制包的方法,讲解Profile、Settings、Options及Package ID的作用,帮助管理不同平台和编译环境下的包版本。

20

2026.09.22

Conan私有仓库搭建教程
Conan私有仓库搭建教程

本专题系统的讲解Conan私有仓库的搭建流程,涵盖仓库服务部署、存储目录配置、用户认证、权限划分和远程地址添加,并介绍内部C++依赖包的上传、下载及版本维护方法。

20

2026.09.22

loomy官网入口地址合集
loomy官网入口地址合集

本专题汇总了 Loomy 桌面 AI 助理的官方入口地址合集及使用指南。提供 macOS 与 Windows 客户端下载 。Loomy 是讯飞推出的桌面级 AI 工作搭子,支持文件整理、数据分析、网页操作及通过飞书/钉钉远程操控电脑,助你高效完成本地办公任务 。

20

2026.09.22

NumPy常见函数使用方法
NumPy常见函数使用方法

本专题整理 NumPy 常见函数使用方法相关教程,覆盖函数大全、参数用法、数组运算、统计聚合、排序处理、where 条件筛选、linspace 创建数列等常用场景,帮助读者快速掌握 NumPy 函数调用思路和实际数据处理技巧。

40

2026.09.22

NumPy性能优化版本更新与常见报错排查
NumPy性能优化版本更新与常见报错排查

本专题整理 NumPy 性能优化、版本更新与常见报错排查相关教程,覆盖向量化计算、广播性能、内存布局、NumPy 2.0 升级、版本兼容冲突、安装导入报错、dtype 溢出、矩阵运算异常和 broadcasting 报错修复,帮助读者系统掌握 NumPy 性能调优与问题定位方法。

60

2026.09.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB 17.2 官方文档集合
GDB 17.2 官方文档集合

共0课时 | 0人学习

Bootstrap 入门安装配置
Bootstrap 入门安装配置

共0课时 | 0人学习

38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 209人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn