首页 > 解决方案 > Python / Selenium - 如何循环通过hrefs

  • ?
  • 问题描述

    网址:https ://www.ipsos.com/en-us/knowledge/society/covid19-research-in-uncertain-times

    我想解析 HTML 如下:

    在此处输入图像描述

    我想获取 < li > 元素和突出显示的文本中的所有href。我试过代码

    elementList = driver.find_element_by_class_name('block-wysiwyg').find_elements_by_tag_name("li")
    for i in range(len(elementList)):
        driver.find_element_by_class_name('blcokwysiwyg').find_elements_by_tag_name("li").get_attribute("href")
    

    但是该块没有返回。

    谁能帮我上面的代码?

    标签: python-3.xselenium-webdriverweb-scraping

    解决方案


    我想它会为您获取所需的内容。

    import requests
    from bs4 import BeautifulSoup
    
    link = 'https://www.ipsos.com/en-us/knowledge/society/covid19-research-in-uncertain-times'
    
    r = requests.get(link)
    soup = BeautifulSoup(r.text,"html.parser")
    for item in soup.select(".block-wysiwyg li"):
        item_text = item.get_text(strip=True)
        item_link = item.select_one("a[href]").get("href")
        print(item_text,item_link)
    

    推荐阅读