Télécharger des fichiers à l'aide de requêtes et de BeautifulSoup
Je suis en train de télécharger un tas de fichiers pdf à partir de ici à l'aide de demandes et beautifulsoup4. C'est mon code:
import requests
from bs4 import BeautifulSoup as bs
_ANO = '2013/'
_MES = '01/'
_MATERIAS = 'matematica/'
_CONTEXT = 'wp-content/uploads/' + _ANO + _MES
_URL = 'http://www.desconversa.com.br/' + _MATERIAS + _CONTEXT
r = requests.get(_URL)
soup = bs(r.text)
for i, link in enumerate(soup.findAll('a')):
_FULLURL = _URL + link.get('href')
for x in range(i):
output = open('file[%d].pdf' % x, 'wb')
output.write(_FULLURL.read())
output.close()
Je suis AttributeError: 'str' object has no attribute 'read'
.
Ok, je sais, mais... comment puis-je télécharger à partir de cette URL générée?
pourquoi une corde méthode read ()?
FULLURL est évidemment une chaîne de caractères. Et il est probable que vous souhaitez récupérer le contenu de cette URL, et de stocker le contenu au lieu de stocker l'URL. Merci donc de corriger votre code.
ouvrez l'url avec
la chaîne ne doit pas avoir de méthode read (), je veux juste dire que j'ai besoin de connaître une autre méthode pour obtenir cette URL comme une URL.
obtenir cette url comme une url???? quoi?
FULLURL est évidemment une chaîne de caractères. Et il est probable que vous souhaitez récupérer le contenu de cette URL, et de stocker le contenu au lieu de stocker l'URL. Merci donc de corriger votre code.
ouvrez l'url avec
requests.get(_FULLURL)
et vous serez en mesure d'enregistrer le contenu de la réponse est contenu dans un fichier.la chaîne ne doit pas avoir de méthode read (), je veux juste dire que j'ai besoin de connaître une autre méthode pour obtenir cette URL comme une URL.
obtenir cette url comme une url???? quoi?
OriginalL'auteur Filipe Manuel | 2013-09-27
Vous devez vous connecter pour publier un commentaire.
Cela va écrire tous les fichiers à partir de la page d'origine de noms de fichiers dans un
pdfs/
répertoire.OriginalL'auteur samstav
Il pourrait être plus facile avec
wget
, parce que vous avez la la pleine puissance de wget (agent utilisateur, le suivi, les ignorer robots.txt ...), si nécessaire:OriginalL'auteur Balzer82