2016-07-22 19 views
0

Ich interessiere mich für Scraping Titel Zeitschriften von Web of Knowledge mit R und rvest. Ich habe jedoch Probleme beim Einreichen des richtigen Formulars. Ich interessiere mich für eine Liste aller Econometrica Artikel von 1960-1970. Ich bin automatisch eingeloggt mit Zugriff von meiner lokalen Universitätsbibliothek.Formular an Web of Knowledge mit R und Rvest senden

Als ich

library("rvest") 
library("httr") 
link = "http://isiknowledge.com/wos" 
form = html_session(link) %>% html_form() # returns list of 6 forms 
form[[4]] = set_values(form[[4]], # set values in form number 4 
    product = "WOS", 
    range = "ALL", 
    action = "search", 
    period = "Range Selection", 
    startYear = "1960", 
    endYear = "1970", 
    range = "ALL", 
    'value(select1)' = "SO", 
    'value(input1)' = "econometrica", 
    formUpdated = "TRUE") 

submit_form(html_session(link), form = form) 

laufen Ich habe zwei Probleme: Erstens, es legt mit '' und nicht „Econometrica“, und zweitens, erhalte ich folgende Fehlermeldung: Error in if (!(submit %in% names(submits))) { : argument is of length zero.

Es gibt eine Python-Alternative here, aber der Code muss in R sein. Jede Hilfe, wie man Fortschritte macht, wäre sehr willkommen.

Antwort

1

Ich hatte ähnliche Probleme mit ISI-Seiten, und das Problem war, dass sie zumindest ihre Formulare mit keinen Senden-Schaltflächen entwerfen (Einreichung wird mit JavaScript behandelt). Ich untersuchte the link you posted, und das scheint der Fall mit dem vierten Formular auf dieser Seite zu sein (obwohl ich nicht sicher bin, ob das Suchbild als Absenden-Schaltfläche dient).

Wenn dies das Problem ist, dann könnte meine Antwort auf die Frage "Submit form with no submit button in rvest" die Lösung für Ihren Fall bieten.

Kurz gesagt, können Sie eine Senden-Schaltfläche in Ihre Version des Codes injizieren und dann senden. Details dazu finden Sie im verlinkten Post.