- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的目标是使用 library(tm)
一个相当大的 word 文档上的工具包。 word 文档有合理的排版,所以我们有 h1
对于主要部分,一些 h2
和 h3
副标题。我想比较每个部分并对其进行文本挖掘(每个 h1
下方的文本 - 副标题并不重要 - 因此可以包含或排除它们。)
我的策略是将 worddocument 导出到 html,然后使用 rvest
pacakge 提取段落。
library(rvest)
# the file has latin-1 chars
#Sys.setlocale(category="LC_ALL", locale="da_DK.UTF-8")
# small example html file
file <- rvest::html("https://83ae1009d5b31624828197160f04b932625a6af5.googledrive.com/host/0B9YtZi1ZH4VlaVVCTGlwV3ZqcWM/tidy.html", encoding = 'utf-8')
nodes <- file %>%
rvest::html_nodes("h1>p") %>%
rvest::html_text()
我可以提取所有 <p>
与 html_nodes("p")
,但这只是一大汤。我需要分析每个 h1
分别地。
最好的可能是一个列表,向量为 p
每个 h1
的标签标题。也许是一个类似 for (i in 1:length(html_nodes(fil, "h1"))) (html_children(html_nodes(fil, "h1")[i]))
的循环(这是行不通的)。
如果有一种方法可以从 rvest
中整理单词 html,则奖励
最佳答案
请注意 >
is the child combinator ;您当前拥有的选择器查找 p
元素,这些元素是 h1
的子元素 ,这在 HTML 中没有意义,因此不返回任何内容.
如果您检查生成的标记,至少在您提供的示例文档中,您会注意到每个 h1
元素(以及目录的标题,被标记为 p
而不是)具有关联的父级 div
:
<body lang="EN-US">
<div class="WordSection1">
<p class="MsoTocHeading"><span lang="DA" class='c1'>Indholdsfortegnelse</span></p>
...
</div><span lang="DA" class='c5'><br clear="all" class='c4'></span>
<div class="WordSection2">
<h1><a name="_Toc285441761"><span lang="DA">Interview med Jakob skoleleder på
a_skolen</span></a></h1>
...
</div><span lang="DA" class='c5'><br clear="all" class='c4'></span>
<div class="WordSection3">
<h1><a name="_Toc285441762"><span lang="DA">Interviewet med Andreas skoleleder på
b_skolen</span></a></h1>
...
</div>
</body>
每个部分中由 h1
表示的所有 p
元素都可以在其各自的父级 div
中找到。考虑到这一点,您可以简单地选择作为每个 h1
sibling 的 p
元素。但是,由于 rvest 目前没有办法从上下文节点中选择 sibling (html_nodes()
仅支持查看节点的子树,即它的后代),您需要以另一种方式执行此操作.
假设 HTML Tidy 创建了一个结构,其中每个 h1
都在一个直接位于 body
内的 div
中,您可以获取每个 div
使用以下选择器的目录除外:
sections <- html_nodes(file, "body > div ~ div")
在您的示例文档中,这应该导致 div.WordSection2
和 div.WordSection3
。目录由 div.WordSection1
表示,它被排除在选择之外。
然后从每个div
中提取段落:
for (section in sections) {
paras <- html_nodes(section, "p")
# Do stuff with paragraphs in each section...
print(length(paras))
}
# [1] 9
# [1] 8
可以看到,length(paras)
对应于每个div
中p
元素的个数。请注意,其中一些只包含
,根据您的需要,这可能会很麻烦。我将把处理这些异常值作为练习留给读者。
不幸的是,我没有加分,因为 rvest 不提供自己的 HTML Tidy 功能。您将需要单独处理您的 Word 文档。
关于r - 刮掉标题下的所有子段落(最好是 rvest),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28517870/
我的网页上显示了一份简历。其中包含部分(段落),例如教育、经验、项目等,这里是客户 想要通过在网页的段落(节)上拖动鼠标来移动页面上的这些节。我怎样才能实现这个功能。我正在使用 ruby on R
我有一个特定大小的 div,它是图像和两个段落。 都设置了向左浮动 div { width: 400px; height: 400px; } img { float: left; wi
我想完美对齐一段,使整个段落位于页面中央,但左右两边完美对齐。这是一个完美对齐的段落的图片示例: 该段落看起来像是在某种盒子中,左右两边完全笔直。我如何在 css 或 html 中执行此操作? 最佳答
我的 div 中有多个带有段落的项目,我想将它们 chop 为 2 行。我尝试使用高度进行 chop ,但结果会导致单词被 chop 。我无法使用字符,因为在某些情况下单词很长并且会被推到新行。 我正
有没有办法通过 .Net 框架(或有人写过类似的东西)在传递字符串和字典对象时获取匹配数组? 首先是一些背景 我需要 我有运动队的 csv 文件,我将其加载到字典对象中,例如... Team, Var
我需要创建一个程序来计算文本文件中字符的频率以及段落、单词和句子的数量。 我有一个问题,当我的程序输出字母的频率时,程序会为字母表中的每个字母输出多个输出。 输出应该是这样的: 如果输入是“hello
我的 Swing 应用程序中有一个 JTextPane,其上方有一个 JSlider。当我拖动 slider 时,我希望当前具有插入符号的 JTextPane 段落减少/增加其宽度(并相应地调整高度)
有没有办法通过 .Net 框架(或有人写过类似的东西)在传递字符串和字典对象时获取匹配数组? 首先是一些背景 我需要 我有运动队的 csv 文件,我将其加载到字典对象中,例如... Team, Var
假设我有一个文本句子: $body = 'the quick brown fox jumps over the lazy dog'; 我想将该句子放入“关键字”的散列中,但我想允许多单词关键字;我有以
我尝试编写一个服务器-客户端程序。我可以发送协议(protocol)文本并正确获取文本。但是当我尝试解析文本时,我遇到了 Matcher 类的问题。因为它只匹配第一行。那么我怎样才能找到正确的字符串并
由于 WordPress 在所有内容上都添加了段落标签,因此我需要在某些条件下删除段落标签。在这种情况下,我希望它们从图像中消失。我让那部分工作了: $(".scroller img").un
我需要匹配包含三个大括号之间的文本的完整 HTML 段落。 这是我输入的 HTML: {{{Lorem ipsum dolor sit amet. Ut enim ad minim veniam. D
我正在尝试查找大段落(超过一定数量的字符)并将其包装到一个范围内。目前我正在这样做: output.replace(/(\n{2}|^)([^\n{2}]{500,})(\n{2}|$)/mg, '$
所以我有这个模式,它应该提供不同的描述性段落,具体取决于用户从下拉列表中做出的选择。目前它只始终显示所有段落。我希望它在选择“公共(public)”时显示“隐藏”,在选择“内部”时显示“隐藏2”。等等
段落?
JSFiddle Link 我正在使用的 JSFiddle 似乎正是我的元素所需要的。但是,我将如何更改此当前代码以确保每个分段的段落包含相同数量的字符并且所有段落的宽度相同? 任何帮助将不胜感激,尤
我希望我所有的 p 标签继承正文的字体大小——如果我没有在它们上声明字体大小或将它们嵌套在带有字体的父项中,它们会自动执行——尺寸声明。 但是我应该在 CSS 中的 p 中添加 font-size:
警告框作为回显?
Achtung! This alert box indicates a dangerous or potentially negative action.× 所以我创建了自己的警告框,但问
有什么方法可以使用 python-docx 访问和操作文本框中现有 docx 文档中的文本? 我试图通过迭代在文档的所有段落中找到关键字: doc = Document('test.docx') fo
这是在亚马逊电话采访中被问到的——“你能写一个程序(用你喜欢的语言 C/C++/等)在一个大的字符串缓冲区中找到一个给定的词吗?即数字出现次数“ 我仍在寻找我应该给面试官的完美答案。我试着写一个线性搜
当我使用这段代码时,我可以用文本制作图像,但在一行中, function writetext($image_path,$imgdestpath,$x,$y,$angle,$text,$font,$fo
我是一名优秀的程序员,十分优秀!