J'aimerais créer une application Web pour aider les autres étudiants de mon université à créer leur emploi du temps. Pour ce faire, j'ai besoin d'explorer les programmes principaux (une page HTML énorme) ainsi qu'un lien vers une description détaillée de chaque cours dans une base de données, de préférence en python. De plus, je dois me connecter pour accéder aux données.
requests
pour télécharger les pages .lxml
pour extraire les données.Si vous voulez utiliser un puissant framework de scraping, il y a Scrapy
. Il a aussi une bonne documentation. Cela peut être un peu excessif en fonction de votre tâche cependant.
Scrapy est probablement la meilleure bibliothèque Python pour l'exploration. Il peut maintenir l'état des sessions authentifiées.
Le traitement des données binaires doit être traité séparément. Pour chaque type de fichier, vous devrez le gérer différemment selon votre propre logique. Pour presque tous les formats, vous pourrez probablement trouver une bibliothèque. Par exemple, regardez PyPDF pour la gestion des PDF. Pour les fichiers Excel, vous pouvez essayer xlrd.
J'ai aimé utiliser BeatifulSoup pour extraire des données HTML
C'est aussi simple que ça:
from BeautifulSoup import BeautifulSoup
import urllib
ur = urllib.urlopen("http://pragprog.com/podcasts/feed.rss")
soup = BeautifulSoup(ur.read())
items = soup.findAll('item')
urls = [item.Enclosure['url'] for item in items]
À cette fin, il existe un outil très utile appelé web-harvestLien vers leur site Web http://web-harvest.sourceforge.net/