web-dev-qa-db-fra.com

erreur rvest dans open.connection (x, "rb"): le délai d'attente a été atteint

J'essaie de supprimer le contenu de http://google.com . Le message d'erreur s'affiche. 

library(rvest)  
html("http://google.com")

Erreur dans open.connection (x, "rb"):
Le délai d'attente a été atteint En plus:
Message d'avertissement: 'html' est obsolète.
Utilisez 'read_html' à la place.
Voir l'aide ("Obsolète")

depuis que j'utilise le réseau de l'entreprise, cela peut être causé par un pare-feu ou un proxy. J'essaie d'utiliser set_config, mais ne fonctionne pas.

8
user3267649

J'ai rencontré le même problème Error in open.connection(x, “rb”) : Timeout was reached lorsque je travaillais derrière un proxy dans le réseau du bureau.

Voici ce qui a fonctionné pour moi

library(rvest)
url = "http://google.com"
download.file(url, destfile = "scrapedpage.html", quiet=TRUE)
content <- read_html("scrapedpage.html")

Crédit: https://stackoverflow.com/a/38463559

22
user799188

Ceci est probablement dû à votre appel à read_html (ou html dans votre cas) qui ne s’identifie pas correctement auprès du serveur à partir duquel il tente de récupérer le contenu, ce qui est le comportement par défaut. À l'aide de curl, ajoutez un agent d'utilisateur à l'argument handle de read_html pour que votre scraper s'identifie.

library(rvest)
library(curl)
read_html(curl('http://google.com', handle = curl::new_handle("useragent" = "Mozilla/5.0")))
3
genericgreatape

J'ai rencontré ce problème parce que mon VPN était allumé. Immédiatement après l'avoir éteint, j'ai réessayé et le problème a été résolu.

0
Brent B

Je faisais face à un problème similaire et un petit hack l'a résolu . Il y avait 2 caractères dans l'hyperlien qui créaient le problème pour moi . J'ai donc remplacé "è" par "e" e "et cela a fonctionné . Mais assurez-vous que le lien hypertexte reste toujours valide.

0
Arpit Bajpai