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

如何用Python获取谷歌搜索结果的完整HTML内容(含右侧区域)?

如何获取谷歌搜索结果的完整HTML(包含右侧区域)

方法1:更新请求头,模拟现代浏览器

你的问题核心是使用的User-Agent过于老旧,谷歌会针对这类请求返回简化版页面,不会包含右侧的知识面板区域。同时补充必要的请求头可以让请求更接近真实浏览器行为:

import urllib.request as urllib2

# 使用现代主流浏览器的User-Agent
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'

url = "https://www.google.com/search?q=Everton+stadium+address"
headers = {
    'User-Agent': user_agent,
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Language': 'en-US,en;q=0.5',
    'Referer': 'https://www.google.com/',
}

request = urllib2.Request(url, None, headers)
response = urllib2.urlopen(request)
data = response.read().decode('utf-8')  # 解码为字符串,方便查看完整内容

方法2:处理JavaScript动态加载内容

如果更新请求头后仍无法获取右侧区域,说明该内容是通过JavaScript动态渲染的(urllib只能抓取初始HTML,无法执行JS)。此时可以用Selenium模拟真实浏览器加载页面:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 配置无头模式(可选,无需打开可视化浏览器窗口)
chrome_options = Options()
chrome_options.add_argument('--headless=new')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36')

driver = webdriver.Chrome(options=chrome_options)
driver.get("https://www.google.com/search?q=Everton+stadium+address")

# 获取浏览器完全渲染后的完整HTML
full_html = driver.page_source

driver.quit()

关键说明

  • 旧版User-Agent会触发谷歌的兼容性策略,返回无附加内容的简化页面,必须使用当前主流浏览器的UA字符串。
  • 谷歌部分搜索结果(如右侧知识面板)依赖前端JS动态生成,静态HTTP请求无法获取这类内容,必须用浏览器渲染工具模拟真实访问流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:05:55