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

如何使用BeautifulSoup查找类名为_XWk的谷歌快速回答框元素?

问题原因

  • 你直接用requests发起请求时没有携带浏览器标识,谷歌的反爬机制会直接返回和普通浏览器访问完全不同的页面结构,不会包含你要找的_XWk类元素,严重时甚至会直接返回验证码拦截页。
  • 谷歌搜索结果页的类名都是动态生成的,_XWk属于临时类名,会随着谷歌的页面迭代、访问地域、登录状态发生变化,不能作为稳定的定位依据。

修正方案

  1. 首先给请求添加合法的User-Agent头,模拟正常浏览器访问:
from bs4 import BeautifulSoup 
import requests

# 添加浏览器标识头
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'
}
URL = 'https://www.google.com/search?q=when%20was%20trump%20born'
content = requests.get(URL, headers=headers)

soup = BeautifulSoup(content.text, 'html.parser')
# 可先取消下行注释打印返回的页面源码,确认实际页面结构再调整定位规则
# print(soup.prettify())
print(soup.find_all("div", {"class": "_XWk"}))
  1. 不要硬编码动态类名作为定位条件:你可以先打印返回的页面源码,找到你需要的快速回答内容所属的稳定特征(比如特定的属性、嵌套结构),再写定位规则,避免谷歌更新页面结构后代码直接失效。

补充说明

谷歌搜索页面没有公开的稳定结构规则,类名、页面布局会不定期调整,该类爬取方案本身就有较高的维护成本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:15:04