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

使用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包来清洗和过滤文本。

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

text <- corpus(text)

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

text <- tokens(text, remove_punct = TRUE, remove_numbers = TRUE)

词汇过滤: 使用qdapDictionaries包中的DICTIONARY数据集,该数据集包含了常用的英语单词。我们只保留出现在该词典中的词语。

data(DICTIONARY)text <- tokens_select(text, DICTIONARY$word)

统计词频: 将清洗后的文本转换为数据框,并统计每个单词的出现频率。

text %  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等包,可以有效地从网页中提取并清洗文本数据。通过调整代码中的参数和方法,可以针对不同的网页结构和分析需求进行优化。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1590730.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月23日 06:13:58
下一篇 2025年12月23日 06:14:05

相关推荐

  • html页面缓存如何自动清理_html页面缓存自动清理的简单步骤

    网页加载慢或内容过期时,需清理浏览器缓存。一、设置HTTP头:在服务器配置中添加Cache-Control: no-cache, no-store, must-revalidate和Expires: 0,重启服务生效。二、资源加版本号:在CSS、JS引用链接后添加?v=版本号,如v=2.1,更新时递…

    2025年12月23日
    000
  • 使用BeautifulSoup精确提取HTML表格指定列并处理嵌套表格

    本文旨在指导如何使用python的beautifulsoup库从html表格中精确提取指定列,同时有效避免嵌套表格的干扰。教程将介绍两种核心策略:一是通过高级css选择器筛选出不含嵌套表格的行,二是利用`decompose()`方法直接移除不需要的列。通过这些方法,开发者可以更灵活、准确地解析复杂的…

    2025年12月23日
    000
  • html5文件如何实现实时内容过滤 html5文件上传内容的检查机制

    使用FileReader API读取HTML文件内容并在客户端验证;2. 通过正则表达式检测恶意代码片段如script标签和onerror事件;3. 利用DOM解析器结构化校验,遍历节点检查黑名单元素及属性;4. 结合CSP与沙箱机制预览内容,确保无风险后才允许上传。 如果您在上传HTML5文件时需…

    2025年12月23日
    000
  • html源码怎么保存为网页源码_html源码保存为网页源码的方法

    1、使用文本编辑器将复制的HTML源码粘贴并另存为.html文件,编码选UTF-8;2、浏览器中直接“另存为”网页,可选“网页,全部”或“仅HTML”格式;3、通过开发者工具复制动态渲染后的outerHTML并保存为HTML文件,保留当前页面状态。 如果您在查看网页时获取了HTML源码,但需要将其保…

    2025年12月23日
    000
  • JavaScript与CSS实现可点击气泡的动态重现效果

    本教程详细介绍了如何使用javascript和css创建一个交互式气泡效果。用户点击气泡后,气泡会暂时消失,并在指定时间后自动重新出现。文章通过优化原始的重复代码,展示了如何利用一个通用的javascript函数结合`settimeout`机制,实现高效且可维护的气泡消失与重现逻辑,并提供了完整的代…

    2025年12月23日
    000
  • 解决CSS缩放时视觉伪影(线条)的问题

    本教程深入探讨了CSS元素缩放时可能出现的视觉伪影(如线条)问题。核心在于当父容器进行缩放时,其内部子元素的背景与父容器自身的透明背景可能导致视觉不连续。解决方案是通过为父容器设置统一的背景色和圆角,确保缩放过程中的视觉完整性,避免底层背景透出。 引言:理解CSS缩放与视觉伪影 在现代网页设计中,t…

    2025年12月23日
    000
  • 使用jQuery的closest()和属性选择器隐藏父元素

    本文详细介绍了如何利用jquery的`closest()`方法结合css属性选择器来精确地定位并隐藏dom中的父元素。通过分析实际场景中的html结构,文章演示了如何从一个具有特定属性的内部元素出发,向上遍历dom树以找到目标父元素,并对其执行隐藏操作,提供清晰的代码示例和注意事项,帮助开发者高效地…

    2025年12月23日
    000
  • CakePHP 4.x Flash 消息前缀字符异常显示问题排查与解决

    本文旨在解决 cakephp 4.x 中 flash 成功消息前出现“v”字符的异常显示问题。该问题通常源于不当的 css 引入,特别是 `webroot/css/home.css` 中定义了依赖特殊字体的 `::before` 伪元素样式,却被全局或错误地应用到非主页面的布局中。教程将指导您定位并…

    2025年12月23日
    000
  • 创建动态弹出窗口:CSS与JavaScript实现平滑过渡效果

    本文详细介绍了如何使用html、css和javascript创建具备平滑过渡动画效果的动态弹出窗口。教程将从结构搭建、样式定义到交互逻辑,逐步指导读者实现一个类似点击联系按钮后出现的、具有缩放和淡入效果的弹出层,并提供完整的代码示例及注意事项。 在现代网页设计中,弹出窗口(Popup)是实现用户交互…

    2025年12月23日
    000
  • CSS技巧:实现图片与标题文本的完美对齐与尺寸控制

    本文旨在解决在网页标题旁放置图片时,如何确保图片保持其宽高比、自适应文本高度并与文本垂直居中对齐,同时实现水平居中的布局挑战。核心解决方案是利用css的`line-height`属性定义容器行高,并将其应用于图片高度,结合`vertical-align`实现精确对齐。 理解标题旁图片布局的常见问题 …

    2025年12月23日
    000
  • HTML表单提交后自动清空输入字段的优雅方案

    本文详细阐述了在不重定向页面的前提下,如何确保html表单提交后自动清空所有输入字段。通过利用表单的`onsubmit`事件,结合`this.submit()`和`this.reset()`方法,并辅以`return false;`来阻止默认行为,我们能实现提交与清空同步进行,尤其适用于使用隐藏if…

    2025年12月23日
    000
  • 使用 Media Queries 在不同屏幕尺寸下切换图片

    本文介绍了如何利用 css media queries 在不同屏幕尺寸下动态切换图片显示。通过设置不同类名的图片标签,并结合 media queries 控制它们的显示与隐藏,可以实现响应式图片切换效果,从而优化用户在不同设备上的浏览体验。 在响应式网页设计中,根据屏幕尺寸调整图片显示是非常常见的需…

    2025年12月23日 好文分享
    000
  • 从异步数据流中计算并显示总计

    本教程详细阐述了如何在angular/ionic应用中,从observable数据源(如sqlite数据库)获取并显示列表项,并计算这些项的总计。通过订阅数据流并在组件中利用`array.prototype.reduce()`方法聚合数据,最终在html模板中展示计算结果。文章涵盖了实现代码、原理分…

    2025年12月23日
    000
  • html源码如何保存为网页文件_html源码保存为网页格式的方法

    复制HTML源码并用记事本粘贴,另存为.html文件,编码选UTF-8,可双击在浏览器打开;2. 使用VS Code等编辑器新建文件粘贴代码,保存为.html格式,编码设为UTF-8,便于预览;3. 从浏览器开发者工具复制Elements内容,粘贴至编辑器并保存为.html文件,需检查CSS和JS路…

    2025年12月23日
    000
  • html源码怎么保存为云端网页源码_html源码保存到云端的技巧

    1、可通过GitHub Pages、Vercel、Netlify或云存储服务将HTML源码部署为云端网页。2、GitHub Pages免费且支持自定义域名,适合静态页面;Vercel与Netlify提供一键部署,操作便捷;云存储如OSS需设公共读权限并获取外链。 如果您希望将本地编写的HTML源码保…

    2025年12月23日
    000
  • 如何删除html节点_HTML DOM节点删除(removeChild)方法

    一、使用removeChild方法需先获取目标节点及其父节点,调用父节点的removeChild并传入子节点实现删除;二、现代浏览器支持直接调用节点的remove()方法,无需访问父节点,操作更简洁;三、清空容器所有子节点可设置其innerHTML为空字符串,快速移除内容但保留容器;四、replac…

    2025年12月23日
    000
  • html如何显示标签_HTML标签(自定义/语义化)显示与隐藏控制方法

    使用CSS的display属性可控制自定义或语义化标签的显示形式,如设为block、none等;2. 通过JavaScript动态修改style.display或切换类名实现显隐交互;3. 为确保语义化标签正常渲染,需在CSS中声明其为块级元素,尤其兼容旧版浏览器时。综合运用CSS与JS即可灵活管理…

    2025年12月23日
    000
  • html模板如何修改_HTML模板文件(如Smarty)内容修改方法

    首先直接编辑模板文件并保存,然后清除Smarty缓存以确保修改生效,接着检查后端变量赋值是否正确传递数据,最后根据需要调整模板中的逻辑标签并验证页面展示效果。 如果您需要修改HTML模板中的内容,尤其是使用了模板引擎(如Smarty)的文件,可能遇到变量占位符、逻辑控制标签或缓存机制带来的显示问题。…

    2025年12月23日
    000
  • html如何设置滑轮_HTML滚轮(wheel事件)交互与滚动控制方法

    通过监听wheel事件可实现自定义滚动交互,利用deltaY和deltaX获取滚动手势,结合preventDefault阻止默认行为,并操作scrollTop实现精确控制,配合requestAnimationFrame实现平滑滚动效果。 在网页开发中,通过监听鼠标滚轮事件(wheel 事件)可以实现…

    2025年12月23日
    000
  • JavaScript动态样式:为每个单词的首字母添加颜色

    本文深入探讨了如何利用JavaScript动态地为HTML元素中每个单词的首字母添加自定义样式。教程分析了直接修改字符串字符样式无效的原因,并提供了一种健壮的解决方案:通过将每个单词的首字母包装在带有CSS样式的标签中,然后更新元素的innerHTML。这种方法实现了灵活且可控的文本样式化,并兼顾了…

    2025年12月23日
    000

发表回复

登录后才能评论
关注微信