在 class 内抓取 class

Scrape a class within a class

我想在 class_="_e4d" 中使用 class_="href"。基本上是想使用 BeautifulSoup 在 class 中抓取 class。

from bs4 import BeautifulSoup
import selenium.webdriver as webdriver

url = ("https://www.google.com/search?...")

def get_related_search(url):
    driver = webdriver.Chrome("C:\Users\John\bin\chromedriver.exe")
    driver.get(url)
    soup = BeautifulSoup(driver.page_source)
    relate_result = soup.find_all("p", class_="_e4b")
    return relate_result[0]

relate_url = get_related_search(url)
print(relate_url)

结果:markup_type=markup_type)) p class="_e4b"}{a href="/search?...a}{/p}

我现在想抓取 href 结果。我不确定下一步是什么。谢谢您的帮助。

注意:我用 {} 替换了 <> 因为它没有显示为 html 脚本

您实际上可以通过 CSS selector:

一次找到这个内部 a 元素
links = soup.select("p._e4b a[href]")
for link in links:
    print(link['href'])

p._e4b a[href] 会在具有 _e4b class.[=18 的 p 元素中找到所有具有 href 属性的 a 元素=]