SearXNG 自建搜索引擎:Google 被封了怎么办?换 Brave + Startpage 替代方案
前言
SearXNG 是开源元搜索引擎,自托管后可以聚合 Google、Bing、DuckDuckGo 等多个搜索引擎的结果,不跟踪、不记录、不投广告。
但用着用着你会遇到一个经典问题:Google 引擎突然返回 403,提示封禁 24 小时。
“不是我的问题吧?换个 IP 就行?“—— 换了大概率也没用。因为 Google 不只看 IP。
为什么 Google 会封 SearXNG
四个原因叠加:
1. 请求频率太高
SearXNG 一次搜索会并发请求多个引擎。多用户共享一个出口 IP 时,Google 看到同一 IP 在短时间内发起大量搜索请求 —— 触发速率限制。
2. 请求指纹异常
即使换了 IP,这些特征不变:
- 没有浏览器 Cookie
- User-Agent 被识别为 Bot
- TLS 指纹异常(常见于 VPS)
- 请求头过于干净
Google 的反爬系统不只认 IP,更认「行为指纹」。一个没有浏览器环境、不会加载 JS、Cookie 为空的请求 —— 怎么看都不像真人。
3. 数据中心 IP 是” 劣质公民”
搬瓦工、DigitalOcean、Oracle Cloud、AWS—— 这些 VPS 的 IP 段在 Google 的信任等级天生就低。因为历史上爬虫和滥用大多出自这些网段。
4. Google 引擎走 HTML Scraping
SearXNG 的 google 引擎是解析 Google 的 HTML 页面,不是走 API。HTML 结构一变动,引擎就失效;反爬机制一升级,直接封。
解决方案(按推荐优先级)
方案一:禁用 Google,用替代引擎组合
最稳的方案 —— 不用 Google 了。编辑 settings.yml:
engines: - name: google disabled: true
- name: brave engine: brave
- name: bing engine: bing
- name: duckduckgo engine: duckduckgo
- name: startpage engine: startpage这四家组合的搜索质量实测不比 Google 差:
- Brave Search:独立索引,不封 IP,响应快
- Bing:微软搜索,英文结果质量高
- DuckDuckGo:隐私优先,中文还行
- Startpage:本质是 Google 的代理服务,拿 Google 结果但不会被封
方案二:优化 Google 配置(治标不治本)
如果非要保留 Google,做这些优化能降低封禁频率但不保证稳定:
# 限速search: max_request_timeout: 10.0
server: limiter: true
outgoing: max_connections: 2 # 降低并发 useragent_suffix: "Mozilla/5.0" proxies: http: - http://user:pass@residential-proxy:port # 住宅 IP
engines:2 collapsed lines
- name: google request_delay: 2.0 # 每次请求间隔 2 秒配了住宅代理能好很多,但住宅代理要花钱 —— 不如直接用方案一。
方案三:Google Custom Search API
Google 官方的搜索 API,不会被封。但要付费($5 / 1000 次查询),个人用不划算。
总结
SearXNG + Google = 迟早被封。这不是你的问题,是 Google 反爬机制的正常反应。
最省心的方案:禁用 Google,用 Brave + Bing + DuckDuckGo + Startpage 组合。搜索质量不降级,还不用担心封禁。
对于自建搜索引擎的个人用户来说,稳定比「非得用 Google」重要得多。