2016-07-11 23 views
2

Ich versuche, den Verein für Fußballspieler in Listen von Spielen zu kratzen (z. B. für Alan Shearer um http://www.transfermarkt.com/alan-shearer/leistungsdatendetails/spieler/3110/wettbewerb/GB1, speziell in Tabelle # 3, die Hughe mit dem Titel "Premier League ")rvest scrape von einer bestimmten Spalte in einer Tabelle

Ärgerlich ist der Schläger in der" For "-Spalte der Tabelle als Bild mit der Klasse" tiny_wappen "kodiert. Ich kann diese kratzen und steckte sie in eine data.frame mit

link <- "http://www.transfermarkt.com/alan-shearer/leistungsdatendetails/spieler/3110/wettbewerb/GB1" 
    UrlPage <- read_html (link) 
    Node <- UrlPage %>% html_nodes("table") %>% `[`(3) %>% html_nodes("img.tiny_wappen") 
    ClubFor <- data.frame(html_attr(Node, "alt")) 

aber einige (etwa ein in jeder fünf) der Clubs in der benachbarten Spalte (vs) ist auch in diesem Bildklasse, damit ich eine bekommen Liste mit gegen Clubs gespielten Listen. Gibt es eine Möglichkeit, eine Spalte der Tabelle anzugeben, von der aus geschabt werden soll (oder eine andere klügere Methode, um das zu erreichen, was ich will)?

Präventiv Dank wie immer,

Antwort

2

Sie xpaths verwenden können, die vierte Zelle jeder Zeile

Node <- UrlPage %>% 
    html_nodes(xpath = "//*[@id='main']/div[9]/div[1]/div[2]/div[3]/table/tbody/tr/td[4]/a/img") 

ClubFor = Node %>% 
    html_attr("alt") %>% 
    data.frame() 
zu greifen