Obtener enlaces internos de una página web
Una vez leído el contenido de la página web vamos a extraer los enlaces internos.
Buscaremos las etiquetas html de la forma <a href=’…..’ que se dirijan a nuestro sitio web
# -*- coding: iso-8859-15 -*-
# Proyecto Web Scraping para SEO con Python
# Clase 3: Obtener enlaces internos de una página web
# webscrap3
import urllib
import re
url = «https://evginformatica.blogspot.com/»
html = urllib.urlopen(url).read()
busqueda = «href='»+url+«.+?'»
enlaces = re.findall(busqueda, html)
for enlace in enlaces
print enlace
Para lograrlo usaremos la expresión regular, donde le indicamos que busque en el texto las líneas que empiecen por la dirección de nuestro sitio web, seguido de 1 o más caracteres que no sean comillas y que acaben por html.
La función findall buscará todos los patrones de búsqueda en el texto html.
con esto obtenemos por pantalla todos los enlaces internos usados en la página web
pej.
‘https://evginformatica.blogspot.com/p/blog.html’
‘https://evginformatica.blogspot.com/p/cursos-gratis-programacion.html’
…
En algunos casos pueden salir enlaces con simbolos %20 que son caracteres especiales como espacios o acentos.