es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Raspado web de Google Scholar con Python.

Hola, necesito extraer resúmenes y DOIs de registros en Google Scholar, usando bs4 o Selenium. Tengo un problema con páginas de “academic.oup” como esta: https://academic.oup.com/eurheartj/article-abstract/42/Supplement_1/ehab724.1650/6394300

No puedo extraer ni el DOI ni el resumen con bs4 o selenium.

Aquí está mi código con selenium:

driver = webdriver.Chrome('/Users/cante/Downloads/chromedriverwin32/chromedriver.exe')
driver.get('https://academic.oup.com/eurheartj/article-abstract/42/Supplement_1/ehab724.1650/6394300')
abstract = driver.find_elements_by_xpath('//div[@id="ContentTab"]/div[1]/div/div/section')
doi_element = driver.find_elements_by_xpath('//div[@id="ContentColumn"]/div[3]/div[1]/div/div/div[3]/div[1]/div/a')

for element in abstract:
    print(x, element.text)
for element in doi_element:
    print(x, element.text)

driver.quit()

Y mi resultado es vacío (encontré el XPath desde el enlace de la página).

Aquí está mi código con bs4:

response = requests.get('https://academic.oup.com/eurheartj/article-abstract/42/Supplement_1/ehab724.1650/6394300', headers=headers)
if response.status_code != 200:
    print('Status code:', response.status_code)
    raise Exception('Failed to fetch web page ')

page = BeautifulSoup(response.text, 'html.parser')

for entry in page.find_all("section", attrs={"class": "abstract"}):
    print(entry.get_text())

Y mi resultado también es vacío. ¿Cuál es el problema?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El problema parece ser que el XPath utilizado para localizar los elementos en el código de Selenium es incorrecto o no lo suficientemente específico, y que la clase utilizada para localizar el abstract en el código de BeautifulSoup está mal escrita (“seciton” en lugar de “section”). También es posible que el sitio web esté bloqueando intentos automatizados de scraping, por lo que vale la pena verificar si hay medidas contra el scraping en vigor.

Comments are closed.