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

使用BeautifulSoup无法定位Google搜索结果h3标签文本如何解决

问题排查与解决方案

1. 明显的笔误问题

你代码里的class值写错了,你通过开发者工具定位到的是LC20lb DKV0Md,但代码里写的是LC201b DKV0Md,把字母小写的l写成了数字1,这是直接导致匹配不到元素的核心原因之一。

2. 反爬识别问题

直接用requests默认配置发请求,Google会直接识别出爬虫身份:
默认requests的请求头User-Agent值为python-requests/版本号,Google识别到后会返回结构完全不同的反爬页面、验证码页面,不会返回普通用户访问的正常搜索结果页,自然找不到对应的h3标签。

3. 类名动态性问题

Google搜索结果页的类名是动态生成的,你当前在开发者工具里看到的LC20lb DKV0Md不是永久固定值,平台更新、不同访问场景下类名都会变化,长期依赖固定类名的爬取逻辑很容易失效。


修正后的参考代码

import requests
from bs4 import BeautifulSoup

# 添加模拟浏览器的请求头,绕过基础反爬
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"
}
res = requests.get('https://google.com/search?q=world+news', headers=headers)
soup = BeautifulSoup(res.content, 'html.parser')
# 修正类名的笔误
results = soup.find_all('h3', class_= 'LC20lb DKV0Md')
for item in results:
    print(item.get_text())

额外注意事项

  • 如果请求后还是匹配不到内容,可以先打印res.text查看返回的页面内容,确认是否被反爬拦截
  • 长期爬取Google搜索结果更建议使用官方提供的搜索API,避免频繁触发反爬导致IP被限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:09:02