2016-04-14 26 views
1

this particular webpage'dan bazı adları almak istediğim R'de aşağıdaki kodu yazdım. Ben x_3 içeriğine bakmak zaman, şu olsun AncakR readHTMLTable işlevi çalışmıyor

library(RCurl) 
library(XML) 
x <- getURL("http://www.encyclopedia-titanica.org/titanic-passengers-crew-lived/country-17/england.html") 
x_2 <- htmlParse(x) 
x_3 <- readHTMLTable(x_2) 

... readHTMLTable fonksiyon tabloları elde etmek mümkün değilmiş gibi görünüyor

x_3 
named list() 

. Bu web sayfasından yolcuların isimlerini kopyalayıp yapıştırmak zorunda kalmama yardımcı olur mu? Çok takdir edildi.

+0

readHTMLTable() işlevini kullanabilmeniz için öncelikle tablo öğesini çıkarmanız gerekir. XPath kullanın - "tableVar <- xpathApply (x_2," // table [@ id = 'manifest'] ")' gibi bir şey. O zaman yapabilmelisiniz 'x_3 <- readHTMLTable (tableVar)' – WillardSolutions

+0

(ATM'yi güvenlik duvarı sorunları yaşıyorum bu yüzden bu şekilde test edemiyorum ...) – WillardSolutions

cevap

0
library(rvest) 
library(dplyr) 

base <- "http://www.encyclopedia-titanica.org/titanic-passengers-crew-lived/country-17/england.html" 

# I use the older rvest package...`html` might be `read_html` now.Link to git repo below: 
# https://github.com/hadley/rvest/blob/7d65d84e013b1bb3827ae0a2e05ddaed4875c112/R/parse.R 
data_df <- (html(base) %>% html_table)[[1]] 

knitr::kable(summary(data_df)) 

    | | Name   | Age   | Class/Dept  | Ticket  | Joined  | Job   |Boat [Body]  |    | 
    |:--|:----------------|:----------------|:----------------|:----------------|:----------------|:----------------|:----------------|:------------| 
    | |Length:1190  |Length:1190  |Length:1190  |Length:1190  |Length:1190  |Length:1190  |Length:1190  |Mode:logical | 
    | |Class :character |Class :character |Class :character |Class :character |Class :character |Class :character |Class :character |NA's:1190 | 
    | |Mode :character |Mode :character |Mode :character |Mode :character |Mode :character |Mode :character |Mode :character |NA   | 
+0

Bu çözüm için çok teşekkürler. Güzel çalışıyor! – ACE

+0

adlı kullanıcının bunu duyduğuna sevindim –