Comment écrire un script Python pour rechercher sur un site Web HTML les liens correspondants
Question
Je ne connais pas très bien Python et je dois écrire un script pour exécuter une multitude de fonctions.Fondamentalement, le module dont j'ai encore besoin est de savoir comment vérifier le code d'un site Web pour les liens correspondants fournis au préalable.
La solution
Liens correspondants quoi ?Leur attribut HREF ?Le texte d'affichage du lien ?Peut-être quelque chose comme :
from BeautifulSoup import BeautifulSoup, SoupStrainer
import re
import urllib2
doc = urllib2.urlopen("http://somesite.com").read()
links = SoupStrainer('a', href=re.compile(r'^test'))
soup = [str(elm) for elm in BeautifulSoup(doc, parseOnlyThese=links)]
for elm in soup:
print elm
Cela récupérera le contenu HTML de somesite.com
puis analysez-le à l'aide de BeautifulSoup, en recherchant uniquement les liens dont l'attribut HREF commence par "test".Il crée ensuite une liste de ces liens et les imprime.
Vous pouvez modifier cela pour faire n'importe quoi en utilisant le Documentation.
Autres conseils
En général, vous utilisez urllib , urllib2 (htmllib etc) pour la programmation web en Python. vous pouvez aussi utiliser mécaniser , boucle etc. Ensuite, pour le traitement de HTML et d'obtenir des liens, vous voulez utiliser comme parseurs BeautifulSoup .
essayer scrapy, le cadre le plus complet d'extraction web.