2016-07-18 7 views
0

Ich versuche, einige Fußballdaten zu webscrape. Ich bin in der Lage, alle notwendigen Webseiten zu durchlaufen, aber ich habe Probleme, die Daten von jeder Seite zu bekommen. Ich denke, die Tabellen, die die Tabelle enthalten, sind eine Form von Java, die es schwierig macht.R Selen - Schwierigkeit Extrahieren von Daten aus komplexen Tabelle

Ich versuche, die Ziel-mal für jedes Team aus der folgenden Website zu erhalten: http://www.scoreboard.com/uk/match/arsenal-west-brom-2014-2015/AyTNt38e/#match-summary|match-statistics;0|lineups;1

aber ich scheine zwischen Zielen/Karten/anderen Ereignissen zu unterscheiden nicht die vorhanden sind. Kann mir jemand helfen, oder ist das einfach ein verlorener Grund auf dieser Website?

Mein Code, um die Zeit des ersten Ereignisses (Ziel/Karten/sonstigen) zu erhalten ist:

library("RSelenium") 
startServer() 
mybrowser <- remoteDriver() 
mybrowser$open() 
mybrowser$navigate("http://www.scoreboard.com/uk/match/arsenal-west-brom-2014-2015/AyTNt38e/#match-summary|match-statistics;0|lineups;1") 

x<-mybrowser$findElements(using = 'css selector', ".time-box") 
x[[1]]$getElementText() 

Antwort

0

Sie benötigen ein bestimmtes übergeordnetes Element auszuwählen, die nur und all Elemente enthalten, die Sie wollen. In diesem Fall funktioniert "#summary-content div.time-box" als CSS-Selektor.

Wenn Sie den Ereignistyp z. Ziel vs Karte vs ..., dann möchten Sie den CSS-Selektor "#summary-content div.icon-box" verwenden und dann die andere Klasse auf dem Element DIV betrachten. soccer-ball für ein Ziel, für eine gelbe Karte, und so weiter. Zum Beispiel

<div class="icon-box soccer-ball"> 

Das sollte genug sein, um Sie zu beginnen. Sie sollten in der Lage sein, den Rest von ihnen selbst zu bekommen.