You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取class为a-no-hover-decoration的a标签href并判断谷歌搜索模型卡片是否存在

问题1 如何正确提取符合要求的a标签的href值

你当前代码无返回结果有两个核心原因:

  • 类名拼写错误:代码中填写的类名是a-no-hover-detection,实际目标a标签的类名为a-no-hover-decoration
  • 未携带请求头直接发起请求:谷歌会识别无有效UA标识的请求为爬虫,返回的页面结构和浏览器端正常访问的结构完全不同,无法匹配到对应元素

正确可运行的代码示例如下:

import requests
from bs4 import BeautifulSoup

# 模拟桌面端Chrome请求头,绕过爬虫识别
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}

req = requests.get("https://www.google.com/search?q=White+Russian", headers=headers)
soup = BeautifulSoup(req.text, "html.parser")

# 匹配目标类名的a标签
target_a_tags = soup.find_all("a", class_="a-no-hover-decoration")
# 提取所有href属性
href_list = [tag.get("href") for tag in target_a_tags]
print(href_list)

注意:谷歌页面的类名会不定期迭代更新,如果后续出现匹配不到的情况,可以重新在浏览器检查器中确认最新的目标类名替换即可。

问题2 如何判断任意搜索词的谷歌搜索结果中是否存在这类模型卡片

判断逻辑非常简单:执行上述查找目标a标签的逻辑后,只要target_a_tags列表的长度大于0,就说明当前搜索词的结果中存在对应的模型卡片;如果列表为空,就说明不存在这类卡片。

这类模型卡片属于谷歌知识面板的衍生内容,你也可以通过提前匹配知识面板的专属容器类名做前置校验,逻辑和匹配目标a标签一致。

内容的提问来源于stack exchange,提问作者Aditya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 23:36:07