El objeto BeautifulSoup lo proporciona Beautiful Soup, que es un marco de web scraping para Python. El raspado web es el proceso de extracción de datos del sitio web utilizando herramientas automatizadas para acelerar el proceso. El objeto BeautifulSoup representa el documento analizado como un todo. Para la mayoría de los propósitos, puede tratarlo como un objeto Tag.
La biblioteca de requests es una parte integral de Python para realizar requests HTTP a una URL específica. Ya sea que se trate de API REST o Web Scrapping, las requests deben aprenderse para continuar con estas tecnologías. Cuando uno realiza una solicitud a un URI, devuelve una respuesta. Las requests de Pythonproporcionan funcionalidades integradas para administrar tanto la solicitud como la respuesta.
Este artículo trata sobre la descarga de archivos PDF usando BeautifulSoup y solicita bibliotecas en python. Beautifulsoup y las requests son útiles para extraer la información requerida de la página web.
Acercarse:
Para encontrar el PDF y descargarlo, tenemos que seguir los siguientes pasos:
- Importe beautifulsoup y solicite la biblioteca.
- Solicite la URL y obtenga el objeto de respuesta.
- Encuentre todos los hipervínculos presentes en la página web.
- Verifique el enlace del archivo PDF en esos enlaces.
- Obtenga un archivo PDF utilizando el objeto de respuesta.
Implementación:
Python3
# Import libraries import requests from bs4 import BeautifulSoup # URL from which pdfs to be downloaded url = "https://www.geeksforgeeks.org/how-to-extract-pdf-tables-in-python/" # Requests URL and get response object response = requests.get(url) # Parse text obtained soup = BeautifulSoup(response.text, 'html.parser') # Find all hyperlinks present on webpage links = soup.find_all('a') i = 0 # From all links check for pdf link and # if present download file for link in links: if ('.pdf' in link.get('href', [])): i += 1 print("Downloading file: ", i) # Get response object for link response = requests.get(link.get('href')) # Write content in pdf file pdf = open("pdf"+str(i)+".pdf", 'wb') pdf.write(response.content) pdf.close() print("File ", i, " downloaded") print("All PDF files downloaded")
Producción:
Downloading file: 1 File 1 downloaded All PDF files downloaded
El programa anterior descarga los archivos PDF desde la URL proporcionada con los nombres pdf1, pdf2, pdf3, etc., respectivamente.
Publicación traducida automáticamente
Artículo escrito por hemavatisabu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA