簡體   English   中英

在r中的rvest包中的html函數中使用哪個選擇器?

[英]Which selector to use in html function in rvest package in R?

我想解析包含這些信息的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" />

我在R中使用rvest 。當我使用這樣的代碼時,使用這個選擇器: "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")

我收到了所有metas的列表,但我只對一個特定的感興趣。 我應該使用哪個選擇器來下載此處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項目https://github.com/hadley/rvest的 readme.me概述中找到了函數guess_encoding()repair_encoding()

更改CSS選擇器以包含屬性值選擇器

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

然后,您可以通過添加以下content來提取content屬性:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM