首页 > 后端开发 > Python教程 > 使用 Python 抓取 Google 搜索结果

使用 Python 抓取 Google 搜索结果

Patricia Arquette
发布: 2025-01-01 00:50:09
原创
944 人浏览过

使用 Python 抓取 Google 搜索结果

Google 为企业和研究人员提供了大量数据。它每天执行超过 85 亿次搜索,占据全球搜索引擎市场 91% 的份额。

自 ChatGPT 首次亮相以来,Google 数据不仅用于排名跟踪、竞争对手监控和潜在客户开发等传统目的,还用于开发高级 LLM 模型、训练 AI 模型和增强自然语言处理能力( NLP)模型。

然而,对每个人来说,抓取 Google 并不容易。它需要专业团队和强大的基础设施来进行大规模抓取。

Scrape Google Search Results Using Python

在本文中,我们将学习使用 Python 和 BeautifulSoup 抓取 Google 搜索结果。这将使您能够构建自己的工具和模型,能够大规模利用 Google 的数据。

让我们开始吧!

什么是 Google 搜索结果?

Google 搜索结果是根据在搜索栏中输入的用户查询显示在 Google 上的列表。 Google 大量利用 NLP 来理解这些查询并向用户提供相关结果。除了有机结果之外,这些结果通常还包括特色片段,例如最新的人工智能概述、“人们也问”部分、相关搜索和知识图。这些元素根据用户的查询向用户提供汇总的相关信息。

抓取 Google 搜索数据的应用

Google 搜索数据有多种应用:

  • 构建用于 SEO 目的的排名和关键字跟踪器。
  • 搜索本地企业。
  • 构建 LLM 引擎。
  • 发现未来潜在趋势的爆炸性话题。

为什么用 Python 来抓取 Google 数据?

Python 是一种多功能且强大的语言,它为抓取网站提供了强大的 HTTP 握手配置,而其他语言可能会遇到困难或成功率较低。随着基于网络抓取数据训练的人工智能模型越来越受欢迎,Python 在网络抓取主题中的相关性在开发者社区中不断上升。

此外,由于其语法简单且代码清晰,希望学习 Python 作为网络抓取技能的初学者可以轻松理解它。另外,它在 Discord、Reddit 等平台上拥有巨大的社区支持,可以帮助解决您面临的任何级别的问题。

这种可扩展的语言在网页抓取性能方面表现出色,并提供了强大的框架,如 Scrapy、Requests 和 BeautifulSoup,与其他语言相比,使其成为抓取 Google 和其他网站的绝佳选择。

使用 Python 抓取 Google 搜索结果

本节将教我们创建一个基本的 Python 脚本来检索前 10 个 Google 搜索结果。

要求

要学习本教程,我们需要安装以下库:

  • 请求 - 从 Google 搜索网址提取 HTML 数据。

  • BeautifulSoup — 以结构化格式优化 HTML 数据。

设置

设置很简单。创建一个 Python 文件并安装所需的库以开始使用。

在项目文件夹中运行以下命令:

    touch scraper.py
登录后复制
登录后复制
登录后复制

然后安装库。

    pip install requests
    pip install beautifulsoup4
登录后复制
登录后复制

过程

我们已经完成设置并准备好继续前进的所有东西。我们将使用 Python 中的 Requests 库提取原始 HTML,并使用 BeautifulSoup 对其进行改进并获取所需的信息。

但是这里的“所需信息”是什么?

Scrape Google Search Results Using Python

过滤后的数据将包含以下信息:

  • 标题
  • 链接
  • 显示的链接
  • 描述
  • 结果的位置

让我们首先在 scraper.py 文件中导入已安装的库。

    from bs4 import BeautifulSoup
    import requests
登录后复制
登录后复制

然后,我们将对目标 URL 发出 GET 请求,以从 Google 获取原始 HTML 数据。

headers={'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.361681276786'}
    url='https://www.google.com/search?q=python+tutorials&gl=us'
    response = requests.get(url,headers=headers)
    print(response.status_code)
登录后复制

传递标头对于让抓取工具看起来像一个刚刚访问 Google 搜索页面以获取某些信息的自然用户非常重要。

上面的代码将帮助您从 Google 搜索链接中提取 HTML 数据。如果收到 200 状态码,则表示请求成功。这就完成了为 Google 创建抓取工具的第一部分。

在下一部分中,我们将使用 BeautifulSoup 从 HTML 中获取所需的数据。

    soup = BeautifulSoup(response.text, ‘html.parser’)
登录后复制

这将创建一个 BS4 对象来解析 HTML 响应,因此我们将能够轻松地在 HTML 中导航并找到任何选择的元素及其内部的内容。

要解析此 HTML,我们需要首先检查 Google 搜索页面,以检查在搜索结果的 DOM 位置中可以找到哪些常见模式。

Scrape Google Search Results Using Python

因此,经过检查我们发现每个搜索结果都位于类为 g 的 div 容器下。这意味着,我们只需使用 g 类在每个 div 容器上运行一个循环即可获取其中的信息。

在编写代码之前,我们将从 HTML 中找到标题、描述和链接的 DOM 位置。

如果您检查标题,您会发现它包含在 h3 标签内。从图像中,我们还可以看到该链接位于锚标记的 href 属性中。

Scrape Google Search Results Using Python

显示的链接或引用链接可以在引用标签内找到。

Scrape Google Search Results Using Python

最后,描述存储在类 VwiC3b 的 div 容器内。

Scrape Google Search Results Using Python

将所有这些数据实体包装到单个代码块中:

    touch scraper.py
登录后复制
登录后复制
登录后复制

我们声明了一个有机结果数组,然后循环遍历 HTML 中具有 g 类的所有元素,并将收集到的数据推送到数组中。

运行此代码将为您提供所需的结果,您可以将其用于各种目的,包括排名跟踪、潜在客户生成和优化网站的 SEO。

    pip install requests
    pip install beautifulsoup4
登录后复制
登录后复制

这就是创建基本 Google 抓取脚本的方式。

但是,有一个问题。我们仍然不能完全依赖这种方法,因为这可能会导致我们的 IP 被 Google 屏蔽。如果我们想大规模抓取搜索结果,我们需要一个由优质和非优质代理组成的庞大网络以及先进的技术来实现这一目标。这就是 SERP API 发挥作用的地方!

使用 ApiForSeo 的 SERP API 抓取 Google 信息

另一种抓取 Google 的方法是使用专用的 SERP API。它们更加可靠,不会让您在抓取过程中受阻。

这部分的设置是相同的,只是我们需要在 ApiForSeo 上注册以获取我们的 API 密钥,这将使我们能够访问其 SERP API。

从 ApiForSeo 获取 API 凭证

Scrape Google Search Results Using Python

激活帐户后,您将被重定向到仪表板,您将在其中获取 API 密钥。

Scrape Google Search Results Using Python

您还可以从仪表板本身复制代码。

设置我们的代码以抓取搜索结果

然后,我们将在随机查询上创建 API 请求,以通过 ApiForSeo SERP API 抓取数据。

    from bs4 import BeautifulSoup
    import requests
登录后复制
登录后复制

您也可以尝试任何其他查询。不要忘记将您的 API 密钥放入代码中,否则您将收到 404 错误。

在终端中运行此代码将立即给出结果。

    touch scraper.py
登录后复制
登录后复制
登录后复制

上述数据包含各种点,包括标题、链接、片段、描述和扩展附加链接等特色片段。您还可以从此 API 获得高级功能片段,例如 People Also Ask For、知识图谱、答案框等。

结论

商业的本质正在快速发展。如果您无法获取有关当前趋势和竞争对手的数据,您就有可能落后于每一步都制定数据驱动战略决策的新兴企业。因此,对于企业来说,了解其环境中发生的情况至关重要,而 Google 可以成为实现此目的的最佳数据源之一。

在本教程中,我们学习了如何使用 Python 抓取 Google 搜索结果。如果您觉得本博客有帮助,请在社交媒体和其他平台上分享。

谢谢!

以上是使用 Python 抓取 Google 搜索结果的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板