BeautifulSoup – Raspado de enlace de HTML

Requisito previo: Implementar Web Scraping en Python con BeautifulSoup

En este artículo, entenderemos cómo podemos extraer todos los enlaces de una URL o un documento HTML usando Python.

Bibliotecas requeridas:

  • bs4 (BeautifulSoup): es una biblioteca en python que facilita el raspado de información de las páginas web y ayuda a extraer los datos de los archivos HTML y XML. Esta biblioteca debe descargarse externamente, ya que no viene fácilmente con el paquete de Python. Para instalar esta biblioteca, escriba el siguiente comando en su terminal.
pip install bs4
  • requests: esta biblioteca permite enviar requests HTTP y obtener el contenido de la página web muy fácilmente. Esta biblioteca también debe descargarse externamente, ya que no viene fácilmente con el paquete de Python. Para instalar esta biblioteca, escriba el siguiente comando en su terminal.
pip install requests

Pasos a seguir: 

  • Importe las bibliotecas requeridas (bs4 y requests)
  • Cree una función para obtener el documento HTML de la URL usando el método request.get() pasándole la URL.
  • Cree un objeto Parse Tree, es decir, un objeto de sopa usando el método BeautifulSoup() , pasándole el documento HTML extraído anteriormente y el analizador HTML integrado de Python.
  • Use la etiqueta a para extraer los enlaces del objeto BeautifulSoup.
  • Obtenga las URL reales del formulario de todos los objetos de etiquetas de anclaje con el método get() y pásele el argumento href .
  • Además, puede obtener el título de las URL con el método get() y pasarle el argumento del título .

Implementación:

Python3

# import necessary libraries
from bs4 import BeautifulSoup
import requests
import re
  
  
# function to extract html document from given url
def getHTMLdocument(url):
      
    # request for HTML document of given url
    response = requests.get(url)
      
    # response will be provided in JSON format
    return response.text
  
    
# assign required credentials
# assign URL
url_to_scrape = "https://practice.geeksforgeeks.org/courses/"
  
# create document
html_document = getHTMLdocument(url_to_scrape)
  
# create soap object
soup = BeautifulSoup(html_document, 'html.parser')
  
  
# find all the anchor tags with "href" 
# attribute starting with "https://"
for link in soup.find_all('a', 
                          attrs={'href': re.compile("^https://")}):
    # display the actual urls
    print(link.get('href'))  

Producción:

Publicación traducida automáticamente

Artículo escrito por girishthatte y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *