我想解析包含此类信息的 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: <b>"Dziś jest dobry dzień, by powiedzieć, że Cię kocham".</b> 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/