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

爬取Google网站时触发ConnectionError报错,寻求技术解决方案

解决requests请求Google时的ConnectionError问题

我来帮你分析下这个连接错误的常见原因和对应的解决办法:

1. 最可能的原因:网络访问限制

很多地区无法直接访问Google服务,这是导致这个错误的头号原因。你可以先打开浏览器尝试访问https://www.google.com/,如果浏览器都无法加载,那代码肯定也无法成功请求。这种情况下需要解决网络访问的问题。

2. 给请求添加超时参数

你的代码里没有设置超时时间,请求可能一直处于等待状态,最终触发重试耗尽的错误。修改requests.get时加上超时限制:

import requests
import bs4

# 添加10秒超时,避免无限等待
res = requests.get('https://www.google.com/', timeout=10)
soup = bs4.BeautifulSoup(res.text, 'lxml')
# 后续代码不变...

3. 模拟浏览器请求头

部分网站会拦截非浏览器发起的请求,你可以添加User-Agent头来模拟浏览器:

headers = {
    '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'
}
res = requests.get('https://www.google.com/', headers=headers, timeout=10)

4. 配置代理(如果需要)

如果确认是网络访问限制,你可以通过代理来发起请求:

proxies = {
    'http': 'http://your-proxy-server:port',
    'https': 'https://your-proxy-server:port',
}
res = requests.get('https://www.google.com/', proxies=proxies, headers=headers, timeout=10)

记得把your-proxy-server:port替换成你实际可用的代理地址和端口。

先测试代码逻辑是否正常

你可以先请求一个国内可访问的网站(比如百度)来验证你的代码逻辑没有问题:

import requests
import bs4

res = requests.get('https://www.baidu.com/', timeout=10)
soup = bs4.BeautifulSoup(res.text, 'lxml')
# 输出百度的标题,验证代码正常运行
print(soup.select('title')[0].text)

如果这段代码能正常输出结果,说明你的代码本身没问题,问题就出在Google的访问限制上。

内容的提问来源于stack exchange,提问作者Ragala Santosh Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:25:07