D'abord je voudrais prendre un moment et remercier la communauté SO, Vous m'avez aidé à plusieurs reprises dans le passé sans que je doive même créer un compte.R - forme web grattage avec rvest
Mon problème actuel concerne le grattage de la bande avec R. Ce n'est pas mon point fort.
Je voudrais à la ferraille http://www.cbs.dtu.dk/services/SignalP/
ce que j'ai essayé:
library(rvest)
url <- "http://www.cbs.dtu.dk/services/SignalP/"
seq <- "MTSKTCLVFFFSSLILTNFALAQDRAPHGLAYETPVAFSPSAFDFFHTQPENPDPTFNPCSESGCSPLPVAAKVQGASAKAQESDIVSISTGTRSGIEEHGVVGIIFGLAFAVMM"
session <- rvest::html_session(url)
form <- rvest::html_form(session)[[2]]
form <- rvest::set_values(form, `SEQPASTE` = seq)
form_res_cbs <- rvest::submit_form(session, form)
#rvest prints out:
Submitting with 'trunc'
rvest::html_text(rvest::html_nodes(form_res_cbs, "head"))
#ouput:
"Configuration error"
rvest::html_text(rvest::html_nodes(form_res_cbs, "body"))
#ouput:
"Exception:WebfaceConfigErrorPackage:Webface::service : 358Message:Unhandled #parameter 'NULL' in form "
Je ne suis pas sûr ce qui est le paramètre non prise en charge. Le problème est-il dans le bouton Envoyer? Je ne peux pas sembler forcer:
form_res_cbs <- rvest::submit_form(session, form, submit = "submit")
#rvest prints out
Error: Unknown submission name 'submit'.
Possible values: trunc
est le problème que le nom $ soumission est NULL?
form[["fields"]][[23]]
J'ai essayé de définir le faux bouton submit comme suggéré ici: Submit form with no submit button in rvest
sans chance.
Je suis ouvert à des solutions utilisant rvest ou Rbordage/HTTR, je voudrais éviter d'utiliser RSelenium
Je vous remercie hrbrmstr! Je veux juste ajouter que vos réponses m'ont déjà aidé dans mes tentatives de raclage. Bonne chance! – missuse
Pourriez-vous expliquer comment procéder pour télécharger un fichier sur le formulaire Web? J'ai essayé 'SEQSUB' = httr :: upload_file (" temp_1.txt "), dans le corps de la demande de publication. Cependant, je reçois l'erreur: Erreur dans enc2utf8 (as.character (url)): l'argument n'est pas un vecteur de caractère. Voici le fichier: https://www.dropbox.com/s/kzdi7za3mcbyw7t/temp_1.txt?dl=0 – missuse
a résolu le problème ci-dessus: encoder = "multipart" était suffisant – missuse