Curso-lenguaje-python/dia_11/programa_web_scraping.py
2023-04-19 07:23:56 +02:00

52 lines
1.2 KiB
Python

"""
Programa dia 11 - Web scraping
nivel intermedio
Con las librerias beautifulsoup4, lxml y requests
"""
import bs4
import requests
# Variables
URL_BASE = 'http://books.toscrape.com/catalogue/page-{}.html'
FIN_URL = True
PAGE = 0
lista_titulos = []
print(f'\nLIBROS CON 4 O 5 ESTRELLAS\n')
# Bucle para formar url y añadir a una lista
while FIN_URL:
PAGE += 1
ENLACE = URL_BASE.format(PAGE)
resultado = requests.get(ENLACE)
sopa = bs4.BeautifulSoup(resultado.text, 'lxml')
# Si existe la url
if resultado:
# Todos los títulos
libros = sopa.select('.product_pod')
# Mostramos la página y el enlace
print(f'\nNÚMERO DE PÁGINA: {PAGE}\nENLACE: {ENLACE}\nLIBROS:')
# Seleccionamos uno a uno cada libro
for libro in libros:
# Seleccionamos los libros que tengan 4 o 5 estrellas
if libro.select('.star-rating.Four') or libro.select('.star-rating.Five'):
# Seleccionamos el texto del title del elemento
titulo_libro = libro.select('a')[1]['title']
# Mostramos el libro
print(f'\t- \"{titulo_libro}\"')
# Si no existe la url
else:
print("")
FIN_URL = False