2016-07-14 34 views
9

Ich bin neu zu rvest und ich versuche zu bestimmen, ob es möglich zu verwenden rvest auf einen Tab, der eine div aktiviert so dass Daten gekratzt werden können. Ich habe die rvest documentation auf Cran gelesen und habe nichts gelesen, das über das Klicken von Links, Buttons oder Tabs redet.Mit rvest, ist es möglich, klicken Sie auf eine Registerkarte, aktiviert ein div und enthüllt neuen Inhalt für scraping

Die Website, die ich in Schaben interessiert bin, ist: touch.tvg.com

Von der Startseite Ich mag würde das Rennen Knopf klicken (auch hier wie clik Sie Tasten in rvest)

Als nächstes Ich würde gerne ein bevorstehendes Rennen auswählen. Dies sollte mich auf die URL des ausgewählten Rennens umleiten. Zum Beispiel: The 10th race at Hoosier

Einmal die Rennseite, ich möchte auf den Pool-Tab klicken und die Poolinformationen abkratzen.

Ich habe unten einige Screenshots beigefügt. Jeder Vorschlag, Anleitung wird geschätzt.

Von Home Page - Klicken Races Knopf Home Page - Click Races

Von Races Seite - Klicken Sie über ein bevorstehendes Rennen Races Page - Click an upcoming race

Von der Wettkampf Seite - klicken Sie auf das Pool Tab From the Race Page - Click the pool tab

Mit dem Pool Daten (Div) sichtbar - Scratch the Pool Data. With Pool data visible - Scrape Pool Data

+1

Nein. Sie würden RSelenium benötigen, was ein wenig kompliziert ist. – alistaire

+1

Wenn Sie das herausfinden, können Sie vorhersagen, welches Pferd gewinnt? –

+0

@ Hack-R Ich habe einen Beitrag gelesen, der darauf hinweist, dass es möglich ist, dies mit rvest zu erreichen. Wenn ich mich recht erinnere (ich kann den Artikel jetzt nicht finden), schlägt der Autor vor, die chrome dev tools und das Netzwerk zu verwenden, um zu identifizieren, was an den Server gesendet wird, und ihn dann zu replizieren. Ich weiß nicht, ob das für die Divs auf dieser Seite gilt. – Mutuelinvestor

Antwort

3

RSelenium scheint alle Funktionen zu bieten, die zum Ernten der interessierenden Daten benötigt werden. Die besten Ergebnisse könnten erzielt werden, indem man die Stärke von Rselen mit denen von Resten kombiniert.

Vielen Dank für ihre Kommentare.