Curso-lenguaje-python/doc_curso/11_extractor_datos_web/097proyecto_11.py

36 lines
990 B
Python

import bs4
import requests
# crear url sin numero de pagina
url_base = 'https://books.toscrape.com/catalogue/page-{}.html'
# lista de titulos con 4 o 5 estrellas
titulos_rating_alto = []
# iterar paginas
for pagina in range(1, 51):
# crear sopa en cada pagina
url_pagina = url_base.format(pagina)
resultado = requests.get(url_pagina)
sopa = bs4.BeautifulSoup(resultado.text, 'lxml')
# seleccionar datos de los libros
libros = sopa.select('.product_pod')
# iterar libros
for libro in libros:
# chequear que tengan 4 o 5 estrellas
if len(libro.select('.star-rating.Four')) != 0 or len(libro.select('.star-rating.Five')) != 0:
# guardar titulo en variable
titulo_libro = libro.select('a')[1]['title']
# agregar libro a la lista
titulos_rating_alto.append(titulo_libro)
# ver libros 4 u 5 estrellas en consola
for t in titulos_rating_alto:
print(t)