Extraer enlaces web

Este código en Python utiliza las bibliotecas requests y BeautifulSoup para extraer enlaces externos de una página web dada. Aquí está el funcionamiento del código paso a paso:

  1. Importación de bibliotecas:
    • from bs4 import BeautifulSoup: Importa la clase BeautifulSoup de la biblioteca BeautifulSoup, que se utiliza para analizar el HTML de una página web.
    • import requests: Importa la biblioteca requests, que se utiliza para realizar solicitudes HTTP.
  2. Definición de la función extraer_enlaces_externos(url): Esta función toma una URL como entrada y devuelve una lista de enlaces externos encontrados en esa página.
  3. Bloque try-except: El código está contenido dentro de un bloque try-except para manejar posibles errores que puedan ocurrir durante la ejecución del código.
  4. Realización de la solicitud HTTP: Se utiliza la función requests.get(url) para realizar una solicitud HTTP GET a la URL proporcionada.
  5. Verificación del estado de la respuesta: Se verifica si la respuesta es exitosa (código de estado 200) utilizando response.status_code == 200.
  6. Creación del objeto BeautifulSoup: Si la respuesta es exitosa, se crea un objeto BeautifulSoup llamado soup a partir del texto de la respuesta utilizando BeautifulSoup(response.text, 'html.parser'). Esto permite analizar el HTML de la página.
  7. Extracción de enlaces externos: Se inicializa una lista llamada enlaces_externos. Luego, se recorren todos los elementos <a> (enlaces) encontrados en el HTML utilizando soup.find_all('a').
  8. Filtrado de enlaces externos: Para cada enlace encontrado, se obtiene el atributo href que contiene la URL del enlace utilizando enlace.get('href'). Se verifica si el enlace es externo (comienza con “http”) y si no pertenece al mismo dominio que la URL de la página original. Si cumple con estas condiciones, se agrega a la lista enlaces_externos.
  9. Impresión de enlaces externos: Finalmente, se imprime la lista de enlaces externos encontrados.
  10. Manejo de errores: En caso de que ocurra algún error durante el proceso, se imprime un mensaje de error.
  11. Ejemplo de uso: Se proporciona un ejemplo de cómo usar la función, donde se pasa una URL de ejemplo ("https://www.ejemplo.com") a la función extraer_enlaces_externos.

En resumen, este código permite extraer y mostrar enlaces externos de una página web dada.

from bs4 import BeautifulSoup
import requests

def extraer_enlaces_externos(url):
    try:
        response = requests.get(url)
        if response.status_code == 200:
            soup = BeautifulSoup(response.text, 'html.parser')
            enlaces_externos = []
            for enlace in soup.find_all('a'):
                href = enlace.get('href')
                if href and 'http' in href and not url in href:
                    enlaces_externos.append(href)
            print("Enlaces Externos:", enlaces_externos)
        else:
            print("Error: No se pudo acceder a la página.")
    except Exception as e:
        print("Error:", e)

# Ejemplo de uso
url_pagina = "https://www.ejemplo.com"
extraer_enlaces_externos(url_pagina)
Facebook
Twitter
LinkedIn

Leave a Comment

Your email address will not be published. Required fields are marked *