sto cercando di raschiare i dati sulle pagine di un'API utilizzando la funzione getURL del pacchetto RCurl in R. Il mio problema è che non riesco a replicare la risposta che ottengo quando apro l'URL in Chrome quando faccio la richiesta utilizzando R. in sostanza, quando apro la pagina di API (URL sotto) in Chrome funziona bene, ma se mi fa richiesta nel usando getURL in R (o utilizzando modalità in incognito in Chrome) ottengo una risposta '500 Internal Server Error' e non la bella JSON che sto cercando.pacchetto di errore di pagina web getURL 'RCurl' [R] quando raschiando API
URL/API in questione: http://www.bluenile.com/api/public/loose-diamond/diamond-details/panel?country=USA¤cy=USD&language=en-us&productSet=BN&sku=LD04077082
Ecco la mia (fallito) di richiesta in [R].
test2 <- fromJSON(getURL("http://www.bluenile.com/api/public/loose-diamond/diamond-details/panel?country=USA¤cy=USD&language=en-us&productSet=BN&sku=LD04077082", ssl.verifypeer = FALSE, useragent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36"))
La mia ricerca in modo Far Prima ho guardato questo prima domanda sulla pila e ha aggiunto nel mio UserAgent alla richiesta (non risolvere il problema, ma può essere ancora necessaria): ViralHeat API issues with getURL() command in RCurl package
Successivo ho guardato questo post utile che guida la mia logica: R Disparity between browser and GET/getURL
mie idee sulla soluzione Questa non è la mia area di competenza, ma la mia ipotesi è che la richiesta è carente di un cookie necessari per completare la richiesta (da qui il motivo per cui non funziona nel browser in modalità in incognito). Ho confrontato le richieste e le risposte dalla richiesta con successo alla richiesta senza successo:
successo richiesta:
richiesta non riuscita:
Qualcuno ha qualche idea? Dovrei provare a utilizzare il pacchetto pacchetto RSelenium
che è stato suggerito dal MrFlick nel 2 ° post che ho fatto.
impressionante. Ho provato a lavorare con un cookiejar ma questo non ha cambiato niente. Prima dovevi visitare la loro prima pagina. Intelligente. Come sapevi che questo era il caso? – stanekam
Il fatto che Chrome in incognito stesse fallendo mi ha portato a guardare la pagina di destinazione e ciò che veniva impostato lì. – jdharrison
Bravo, funziona perfettamente! Impressionante risoluzione dei problemi e comprensione. – Tom