41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
import requests
|
|
from bs4 import BeautifulSoup
|
|
|
|
def extraer_enlaces(url):
|
|
try:
|
|
# Hacer una solicitud HTTP GET a la URL
|
|
respuesta = requests.get(url)
|
|
|
|
# Verificar si la solicitud fue exitosa (código 200)
|
|
if respuesta.status_code == 200:
|
|
# Guardar el contenido HTML en una variable
|
|
contenido_html = respuesta.text
|
|
|
|
# Usar BeautifulSoup para analizar el HTML
|
|
soup = BeautifulSoup(contenido_html, 'html.parser')
|
|
|
|
# Extraer todos los enlaces (elementos <a>)
|
|
enlaces = []
|
|
for enlace in soup.find_all('a', href=True): # Buscamos todas las etiquetas <a> con el atributo href
|
|
enlaces.append(enlace['href']) # Guardar solo el valor del atributo href (el enlace)
|
|
|
|
# Devolver la lista de enlaces
|
|
return enlaces
|
|
else:
|
|
print(f"Error al acceder a la URL: {respuesta.status_code}")
|
|
return []
|
|
|
|
except requests.exceptions.RequestException as e:
|
|
print(f"Error durante la solicitud HTTP: {e}")
|
|
return []
|
|
|
|
# Ejemplo de uso
|
|
url = 'https://example.com' # Cambia esto por la URL de la que quieras extraer enlaces
|
|
enlaces_encontrados = extraer_enlaces(url)
|
|
|
|
if enlaces_encontrados:
|
|
print("Enlaces encontrados:")
|
|
for enlace in enlaces_encontrados:
|
|
print(enlace)
|
|
else:
|
|
print("No se encontraron enlaces o hubo un problema.") |