Ich möchte die Tabelle in der folgenden SeiteScrape eine Seite in R mit rvest oder RCurl oder HTTR
https://www.mcxindia.com/market-data/spot-market-price
ich versucht habe rvest und RCurl extrahieren, aber sowohl in den Fällen, die Seite, die bekommt heruntergeladen ist anders als das, was ich im Browser sehe. Ich gehe davon aus, dass eine Form der Umleitung, die ich nicht in der Lage bin zu erkennen oder folgen
Jede mögliche Hilfe
PS geschätzt werden: Kein Interesse an PhantomJS
Dies ist, was ich bis jetzt versucht:
1. HTTR
base_url <- "https://www.mcxindia.com/market-data/spot-market-price"
ua <- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
library(httr)
library(XML)
doc <- POST(base_url,user_agent(ua),set_cookies(`_ga` = "GA1.2.543290785.1505100652",`_gid`="GA1.2.1409943545.1505881384",`_gat`="1"))
doc <- htmlParse(doc)
poptable<-readHTMLTable(doc,which=7)
Ergebnis: Keine Daten gefunden !!!!
2. RCurl
library(RCurl)
curl <- getCurlHandle()
curlSetOpt(curl = curl,
ssl.verifypeer = FALSE,
useragent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
timeout = 60,
followlocation = TRUE,
cookiejar = "./cookies",
cookiefile = "./cookies")
newDoc = getURL("https://www.mcxindia.com/market-data/spot-market-price", curl=curl)
newDoc <- htmlParse(newDoc)
poptable<-readHTMLTable(newDoc,which=7)
Ergebnis: Keine Daten gefunden !!!!
Auch würde mich interessieren, zu wissen, wie die Excel-Datei zu erhalten (siehe kleine Excel-Symbol)
Gibt es einen Grund, dass Sie PhantomJS explizit als Lösung ausschließen? In manchen Fällen ist es einfach nicht möglich, Daten ohne Phaser wie PhantomJS, RSelenium oder ähnliches zu scrappen. Ohne darauf einzugehen, ist es vielleicht nicht möglich, Ihre Frage zu lösen. – TomS
@TomS Es ist eine Systemvoraussetzung in unserer Umgebung, die phantomJS nicht zulässt. Es ist möglich, mit rvest. Ich werde die Antwort posten, sobald ich den Code an meinem Ende abgeschlossen habe. Ich bin in der Nähe .... –
Aber Sie wissen, dass im Gegensatz zu z. RSelenium PhantomJS erfordert keine Installation richtig? Ich habe keine Administratorrechte auf meiner Arbeitsmaschine, aber es funktioniert. Allerdings - wenn Sie in der Nähe einer Lösung mit nur RVST (oder z. B. HTR) bin ich glücklich zu lesen und zu lernen, da ich im Wesentlichen Mangel an Wissen in dieser Hinsicht :). – TomS