Comment puis-je supprimer les documents PDF à partir de HTML? J'utilise R et je ne peux qu'extraire le texte du HTML. L'exemple du site Web que je vais supprimer est le suivant.Web scraping fichiers PDF à partir de HTML
Cordialement
Comment puis-je supprimer les documents PDF à partir de HTML? J'utilise R et je ne peux qu'extraire le texte du HTML. L'exemple du site Web que je vais supprimer est le suivant.Web scraping fichiers PDF à partir de HTML
Cordialement
Lorsque vous dites que vous voulez gratter les fichiers PDF à partir de pages HTML, je pense que le premier problème que vous faites face est d'identifier réellement l'emplacement de ces fichiers PDF.
library(XML)
library(RCurl)
url <- "https://www.bot.or.th/English/MonetaryPolicy/Northern/EconomicReport/Pages/Releass_Economic_north.aspx"
page <- getURL(url)
parsed <- htmlParse(page)
links <- xpathSApply(parsed, path="//a", xmlGetAttr, "href")
inds <- grep("*.pdf", links)
links <- links[inds]
links
contient toutes les URL aux fichiers PDF que vous essayez de télécharger.
Méfiez-vous: beaucoup de sites Web n'aiment pas beaucoup quand vous grattez automatiquement leurs documents et vous êtes bloqué. Avec les liens en place, vous pouvez commencer à faire défiler les liens et les télécharger un par un et les enregistrer dans votre répertoire de travail sous le nom destination
. J'ai décidé d'extraire les noms de documents raisonnables pour vos fichiers PDF, sur la base des liens (extraction de la dernière pièce après la dernière /
dans les urls
regex_match <- regexpr("[^/]+$", links, perl=TRUE)
destination <- regmatches(links, regex_match)
Pour éviter de surcharger les serveurs du site, je l'ai entendu est convivial mettre en pause votre grattage chaque fois dans un certain temps, donc j'utilise « Sys.sleep()` pour mettre en pause le grattage pendant un certain temps entre 0 et 5 secondes:
for(i in seq_along(links)){
download.file(links[i], destfile=destination[i])
Sys.sleep(runif(1, 1, 5))
}
Bonjour Ken S. Cela fonctionne très bien après avoir essayé plusieurs façons de supprimer la page. vous beaucoup pour votre contribution. –
Salut, oh j'ai oublié de poser le code accompagnant le fil Je vais continuer plus tard, merci pour l'observation –