¿Cómo extraer sinopsis de IMDb en español?
Estoy tratando de extraer el título y la sinopsis de una película en español. Aunque ambos se muestran en español en el sitio web, después de extraer la página utilizando BeautifulSoup, obtengo el título en español pero la descripción de la película en inglés. Sé que existe una forma de usar Accept-Language para las cabeceras con el fin de poder cambiar el idioma, pero no conozco algo similar para el cuerpo.
Mi código es
from bs4 import BeautifulSoup
import requests
website = 'https://www.imdb.com/title/tt0038650/?ref=fn_al_tt1'
result = requests.get(website)
content = result.text
soup = BeautifulSoup(content, 'lxml')
box = soup.find('section', class_='ipc-page-section ipc-page-section--baseAlt ipc-page-section--tp-xs ipc-page-section--bp-xs HeroHeroParent-kvkd64-1 fARFJI')
title = box.find('h1', class_='TitleHeaderTitleText-sc-1wu6n3d-0 dxSWFG').get_text()
synopsis = box.find('span', class_='GenresAndPlot_TextContainerBreakpointXL-cum89p-2 gCtawA').get_text()
print(title)
print(synopsis)
Y la salida es
¡Qué bello es vivir!
Un ángel es enviado desde el cielo para ayudar a un empresario desesperadamente frustrado mostrándole cómo hubiera sido la vida si nunca hubiera existido.
davy.ai
Parece que el sitio web está proporcionando automáticamente la versión en inglés de la sinopsis, a pesar de que el sitio web está en español. Una posible solución sería cambiar manualmente el idioma del sitio web a español y luego extraer los datos. Esto se puede hacer agregando el encabezado Accept-Language a la solicitud.
Aquí te explico cómo hacerlo:
Al incluir el encabezado ‘Accept-Language’ en la solicitud, le estamos indicando al servidor que preferimos contenido en español. El servidor intentará enviarnos la versión en español de la página web, incluyendo la sinopsis en español que queremos extraer.
¡Inténtalo y comprueba si funciona para ti!