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

需批量获取Google搜索结果数量,Selenium遇验证码求替代方案

可行的替代方案

我之前帮朋友处理过类似的批量查询需求,分享几个靠谱的路子:

1. 针对特定站点使用官方API(最优选择)

如果你的查询都是针对特定知名站点(比如Stack Overflow、MLB),直接调用它们的官方API是最稳定、成本最低的方式:

  • 比如Stack Exchange API(包含Stack Overflow):免费额度高达每天10000次请求,完全覆盖你的2000条需求。你可以构造搜索请求,返回结果里的total字段就是你要的结果数量。举个例子,查询"python"相关内容的请求可以写成:
    https://api.stackexchange.com/2.3/search?order=desc&sort=activity&intitle=python&site=stackoverflow
    
  • MLB也有官方的Stats API,同样可以直接搜索站点内的内容并获取结果计数,而且很多内容都是免费开放的。
    这种方式完全避开Google的限制,数据还更精准,毕竟是站点自己的索引。

2. 使用第三方搜索API

如果你的查询涉及大量不同站点,不想逐个找官方API,可以试试第三方封装的搜索API,比如SerpAPI、ScraperAPI这类:

  • 这些服务会帮你处理Google搜索的验证码、IP封锁问题,直接返回结构化的结果(包括搜索结果数量)。
  • 大多有免费额度(比如SerpAPI每月免费100次,超出后按请求量付费,2000条的话成本也很低),而且配置简单,不用自己维护代理和浏览器指纹。

3. 优化Selenium绕过验证码

如果你不想用API,想继续用Selenium,可以通过以下方式大幅降低被拦截的概率:

  • 替换成undetected-chromedriver:它是修改过的ChromeDriver,会自动处理浏览器指纹(比如隐藏自动化标识、修改User-Agent等),比原生Selenium难被检测。
  • 搭配代理池:每个请求切换不同的代理IP,避免单一IP被频繁请求触发限制。
  • 随机化请求行为:不要用固定的休眠时间,改成随机10-30秒;每次查询前随机滚动页面、模拟点击;使用不同的User-Agent池。
  • 分批次执行:不要一次性跑完2000条,分成几天或者几个时间段执行,降低请求密度。

注意事项

不管用哪种方案,都要严格遵守对应服务的使用条款,不要过度请求或者违反规则,避免被永久封禁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:18:16