html - 在 R 中的 rvest 包中的 html 函数中使用哪个选择器?

标签 html r parsing rvest

我想解析包含此类信息的 HTML 页面:

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tajemnica Oscara Pistoriusa - Książki - WP.PL</title>
<meta name="description" content="Wieczorem, 13 lutego 2013 roku ona pisze dla niego kartkę na walentynki: &lt;b&gt;&quot;Dziś jest dobry dzień, by powiedzieć, że Cię kocham&quot;.&lt;/b&gt; Zanim on odczyta tę wiadomość, ona od kilku godzin nie..." />
<meta name="keywords" content="ksiazki, książka, literatura, czytelnik" />
<meta name="language" content="pl" />
<meta name="author" content="Grupa Wirtualna Polska" />
<meta name="robots" content="index,follow" />

我正在使用 rvest package在 R 中。当我使用这样的代码时,使用这个选择器:"meta"

library(rvest)

content <- html("http://ksiazki.wp.pl/gid,17325376,tytul,Tajemnica-Oscara-Pistoriusa,galeria.html?ticaid=1147a0&_ticrsn=3")

nodesS <- html_nodes(content, "meta")

我收到了所有元数据的列表,但我只对一个特定的元数据感兴趣。 我应该使用哪个选择器来仅从此处的 content 下载那些信息:

<meta name="keywords" content="ksiazki, książka, literatura, czytelnik" />

编辑: 谁能知道如何正确设置 encoding 参数? 我在这样指定时收到了错误的编码:

> content <- html("http://ksiazki.wp.pl/gid,17325376,tytul,Tajemnica-Oscara-Pistoriusa,galeria.html?ticaid=1147a0&_ticrsn=3", 
+                 encoding = "UTF-8" )
> 
> nodesS <- html_nodes(content, "meta[name=keywords]")
> html_attrs(nodesS)[[1]][2]
                                    content 
"ksiazki, ksiÄ…ĹĽka, literatura, czytelnik" 

编辑:

我在 hadley 的 github 项目的这个自述文件的概述中找到了函数 guess_encoding()repair_encoding() https://github.com/hadley/rvest

最佳答案

更改您的 CSS 选择器以包含 attribute value selector :

nodesS <- html_nodes(content, "meta[name=keywords]")

然后您可以通过添加以下内容来仅提取 content 属性:

html_nodes(content, "meta[name=keywords]") %>% html_attr("content")
# [1] "ksiazki, książka, literatura, czytelnik"

关于html - 在 R 中的 rvest 包中的 html 函数中使用哪个选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28947043/

相关文章:

r - 取消列出 R 中的对象,但用 NAs 替换 numeric(0)

python - 在 Windows 7 上安装 rpy2

javascript - 将在文本字段中输入的值传输到另一个 angularJs

html - CSS 响应式标题图片

r - Quadprog R 中不兼容的类型

java - 用java编辑html/网页

javascript - 如何使用 python 脚本从 URL 页面查看生成的源而不是 anly 源?

javascript - 仅刷新数据表页面时如何清除状态

html - 是否可以让 child 漂浮在垂直滚动条上?

html - 使用 XPath 解析 HTML 中的数据(在 shell 脚本中)