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.

WebScrape: Obteniendo el href.

Al final de cada fila de esta página, hay un enlace “Ver Carteles” que contiene una URL.

El primero que he extraído en mi código se extrae bien como “ur”.

No estoy seguro de cómo extraer la URL de visualización del cartel.

from selenium import webdriver
import time
import pandas as pd
driver = webdriver.Chrome()
import requests
from bs4 import BeautifulSoup

val = []

absinfo = []
sesinfo = []

url = 'https://meetings.asco.org/meetings/2022-gastrointestinal-cancers-symposium/286/program-guide/search?q=&filters=%7B%22sessionType%22:%5B%7B%22key%22:%22Poster%20Session%22%7D%5D%7D'
res = requests.get(url)
soup = BeautifulSoup(res.content, 'html.parser')

driver.get(url)
time.sleep(4)

productlist = driver.find_elements_by_xpath(".//div[@class='session-card']")

times = soup.select('.time')

for b in productlist:
    ur = b.find_element_by_css_selector('a').get_attribute('href')
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para extraer el enlace “Ver carteles” al final de cada fila de la página, puedes utilizar el selector CSS “.session-links > a:last-child”. Esto seleccionará el último elemento hijo del elemento div con la clase “session-links”, que es el enlace “Ver carteles”.

    Así es como puedes modificar el código para extraer el enlace:

    for b in productlist:
        ur = b.find_element_by_css_selector('a').get_attribute('href')
        view_posters = b.find_element_by_css_selector('.session-links > a:last-child').get_attribute('href')
        # hacer algo con el enlace de view_posters
    

    En el fragmento de código anterior, primero extraemos la URL de la sesión seleccionando la primera etiqueta “a” (ya que hay varias etiquetas “a” dentro del div “session-card”). Luego seleccionamos el enlace “Ver carteles” utilizando el selector CSS “.session-links > a:last-child” y obtenemos su atributo “href”. Luego puedes utilizar esta URL como sea necesario en tu código.

Comments are closed.