首页 > 解决方案 > 需要获取 google 搜索列表的搜索结果数量。正在使用 Selenium,但现在正在使用验证码。有任何想法吗?

问题描述

我有一个谷歌搜索列表,我需要获取搜索结果的数量。

前任:

“python 站点:https ://www.stackoverflow.com ”

“棒球网站:https ://www.mlb.com ”

这些查询有 2000 个。我最初的计划是使用 Selenium。这工作了几百次,但现在我得到的只是一个立即提示验证码的页面,无论我让程序休眠多久。

Google 有一个搜索 API,但我不确定是否有办法从中获取搜索结果编号,而且免费层使用限制过于严格。

这里还有其他选择吗?当然这是可能的,我只是想不出最好的策略。

标签: pythonseleniumweb-scraping

解决方案


这是绝对可能的。

老实说,Selenium 似乎有点矫枉过正。对于相当简单的事情来说,这对浏览器来说是很大的负担。机械化可能是更好的选择。

您在这里有两个选择。

  1. 使用代理。您通过一堆代理路由连接,定期轮换它们(理想情况下,每次搜索,但如果这会导致显着减速,则不会)。唯一的缺点是 Google 安全代理可能很昂贵。不过,您总是可以使用 Scrapebox 来收获一些。
  2. 使用验证码解决服务。那里有很多。DeathByCaptcha 是一个,Antigate 是另一个,尽管还有很多其他的,而且它们并不是特别昂贵。但是,确实有可能在经过一定程度的刮擦后,Google 会看穿它并无论如何阻止您。

就个人而言,我会使用两者的组合。我还会在查询之间进行一些睡眠(理想情况下是随机时间)以降低可检测性。

希望这可以帮助!


推荐阅读