2017-10-10 85 views
1

我已經搜索了很多投稿的帖子,但找不到像我的例子。我正在關注selectorgadget的R vignette示例(https://blog.rstudio.com/2014/11/24/rvest-easy-web-scraping-with-r/),但根據需要輸入我的用例。選擇器小工具的建議沒有給我什麼我需要的。我需要爲頁面上的每個評論提取名稱。什麼樣的名字引擎蓋下看起來像一個示例如下:如何使用rvest提取此HTML元素中的名稱

<span itemprop="name" class="sg_selected">This Name</span>

這裏是我的代碼這一點。理想情況下,此代碼應該讓我在這個網頁上的個人名稱。

library(rvest) 
    library(dplyr) 

    dsa_reviews <- 
    read_html("https://www.directsalesaid.com/companies/traveling- 
    vineyard#reviews") 

    review_names <- html_nodes(dsa_reviews,'#reviews span') 

    df <- bind_rows(lapply(xml_attrs(review_names), function(x) 
    data.frame(as.list(x), stringsAsFactors=FALSE))) 

道歉,如果這是一個重複的問題,或者如果它的格式不正確。請隨時要求進行必要的修改。

回答

3

這就是:

library(rvest) 
library(dplyr) 

dsa_reviews <- 
    read_html("https://www.directsalesaid.com/companies/traveling-vineyard#reviews") 

html_nodes(dsa_reviews,'[itemprop=name]') %>% 
    html_text() 

[1] "Traveling Vineyard"  ""      
[3] "Kiersten Ray-kuhn"  "Miley Sama"    
[5] " Nancy Shawtone "  "Amanda Moore"   
[7] "Matt"     "Kathy Barzal"   
[9] "Lesa Brinker"   "Lori Stryker"   
[11] "Jeanette Holtman"  "Penny Notarnicola"  
[13] "Laura Ann"    "Nicole Lafave"   
[15] "Gretchen Hess Miller" "Gina Devine"   
[17] "Ashley Lawton Converse" "Morgan Williams"  
[19] "Angela Baston Mckeone" "Traci Feshler"   
[21] "Kisha Marshall Dlugos" "Jody Cole Dvorak" 

科林

+0

這是偉大的,謝謝!你也知道如何提取出版日期嗎?我試圖使用相同的格式,但我需要的日期被設置爲itemprop = datePublished旁邊的標籤,稱爲內容。 – acecabana

+1

嘗試'html_nodes(dsa_reviews,'。text-muted')%>%html_text()'僅限日期,'html_nodes(dsa_reviews,'。review__name.h4')%>% html_text()%>% gsub (「\ n」,「」,。)%>% as_tibble()'爲名稱+日期。 –

+0

再次感謝您的幫助。這給了我相關的日期(1周前等)。有沒有什麼方法可以獲得住在同一班級的實際日期,但在名稱內容下?如果沒有,不用擔心,但這將是理想的! – acecabana

相關問題