Cómo escribir una secuencia de comandos de python para la búsqueda de un sitio web html para que coincidan los enlaces
Pregunta
No estoy demasiado familiarizado con python y tiene que escribir una secuencia de comandos para realizar una serie de funciones.Básicamente, el módulo todavía necesito es cómo comprobar un sitio web de código para que coincidan los enlaces establecidos de antemano.
Solución
La coincidencia de los enlaces de qué?Su atributo HREF?El enlace de texto de la pantalla?Quizás algo como:
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
Que va a agarrar el contenido HTML de somesite.com
y, a continuación, analizar el uso de BeautifulSoup, buscando los enlaces cuyo atributo HREF se inicia con la "prueba".Entonces se crea una lista de estos enlaces y los imprime a cabo.
Usted puede modificar esto para hacer nada con el documentación.
Otros consejos
En general, se utiliza urllib , urllib2 (htmllib etc) para la programación web en Python. también se puede utilizar mecanizar , rizo etc a continuación, para el procesamiento de HTML y conseguir enlaces, que querrían utilizar analizadores como BeautifulSoup .
intento scrapy, el marco más amplio de extracción web.