使用Selenium和Beautiful Soup在Python中抓取LinkedIn2025年3月6日 | 阅读 7 分钟 它们被广泛用于网络抓取,因为 Python 语言中有大量的模块和工具可用。Beautiful Soup 和 Selenium 的结合就是两个强大库的一个完美例子,它们提供了一种从网页中提取数据的可靠方法。在本节中,我们将深入探讨使用 Python 进行网络抓取,并特别关注使用 Selenium 和 Beautiful Soup 抓取 LinkedIn。 本文将介绍如何使用 Beautiful Soup 解析 HTML 文本,以及如何使用 Selenium 自动化在线交互。当结合使用时,这些工具可以让我们从世界上最大的职业社交网站 LinkedIn 中提取信息。我们将介绍如何访问 LinkedIn、浏览其页面、从用户个人资料中获取数据,以及如何处理滚动和分页。现在,让我们开始吧。 安装所需的库(Beautiful Soup、Selenium 等)和 Python首先,准备好我们的机器对于为学习 LinkedIn 抓取创建一个舒适的环境至关重要。首先,我们需要安装 Python。 成功安装 Python 后,我们可以安装必要的库。在本课中,我们将使用两个重要的库:Beautiful Soup 和 Selenium。Beautiful Soup 是一个 Python 程序,可以更轻松地处理 HTML 格式的数据。Selenium 是一个功能强大的应用程序,可以在 Web 浏览器中执行语言自动化。您可以使用 Python 的包管理器 Pip 来安装这些库。Pip 通常随 Python 一起安装。 在终端或命令提示符窗口中执行以下命令 这些命令将在您的系统上下载并安装所需的包。安装可能需要几秒钟才能完成。 设置 Web 驱动程序(例如 ChromeDriver)在使用 Selenium 自动化浏览器交互之前,需要设置一个 Web 驱动程序。允许 Selenium 管理特定浏览器的唯一驱动程序称为 Web 驱动程序。ChromeDriver 是 Google Chrome 浏览器的 Web 驱动程序,将在本教程中使用。为了设置它,我们需要获取与我们的 Chrome 浏览器版本对应的 ChromeDriver 版本。要获取与您当前 Chrome 版本兼容的适当版本的 ChromeDriver,请访问(https://sites.google.com/a/chromium.org/chromedriver/downloads)。确认您选择的版本适用于正确的操作系统(例如 Windows、macOS、Linux)。 下载后,您还可以选择 ChromeDriver 可执行文件的保存位置。建议将其保存在 Python 脚本可以引用且易于访问的位置。 登录 LinkedIn在此,我们展示了如何使用 Selenium 自动化 LinkedIn 登录,这意味着我们需要首先识别与登录表单相关的 HTML 组件。如果您使用的是 Chrome,这是世界上最常用的 Web 浏览器,您可以通过右键单击页面上的任何元素(包括登录表单)来使用浏览器检查工具。从上下文菜单中选择“检查”以开始检查页面。结果将打开开发者工具面板。 页面 HTML 源代码显示在开发者工具部分。您可以通过单击 HTML 代码中的相应部分或将鼠标悬停在上面来在网站上查看突出显示的相应部分。找到登录按钮以及密码和用户名/电子邮件的输入框。记下它们具有的任何 HTML 属性,例如 id、class 或 name。我们将在 Python 脚本中使用这些属性来确定每个元素的位置。 在这种情况下,密码字段将具有 id “password”,而用户名字段将具有 id “username”。既然我们已经识别出正确的组件来登录,我们就可以使用 Selenium 来自动化 LinkedIn 登录过程。首先,我们将创建一个 Web 驱动程序实例并将其指定为 ChromeDriver。这将启动一个由 Selenium 控制的 Chrome 浏览器窗口。 接下来,我们将告诉 Selenium 利用其独特的属性来查找密码和用户名/电子邮件输入表单。运用认知主义隐喻,我们可以使用诸如 `find_element_by_id()`、`find_element_by_name()` 或 `find_element_by_class_name()` 等函数来查找元素。找到元素后,我们可以使用 `send_keys()` 函数输入密码和用户名/电子邮件,以模拟用户的输入。 最后,我们将使用 Selenium 的 `find_element_by_*()` 技术来定位并单击登录按钮,然后使用 `click()` 函数。这将模拟单击登录按钮并启动 LinkedIn 登录过程。 示例 说明 第一步是导入所需的库,包括 Selenium 的 webdriver。接下来,它使用指定的 ChromeDriver 可执行文件路径来创建 Chrome Web 驱动程序实例。在访问 LinkedIn 登录页面后,它通过其各自的 ID 查找用户名/电子邮件和密码输入表单,并输入提供的信息。最后,它使用 XPath 定位并单击登录按钮,从而自动化登录过程。 运行上述代码后,将启动一个浏览器实例并使用用户凭据登录 LinkedIn。在下一部分中,我们将研究如何使用 Selenium 访问 LinkedIn 页面并从个人资料中检索数据。 导航 LinkedIn 页面个人资料页面包含多个部分,例如姓名、职位、工作经历、教育等。通过查看页面 HTML 代码,我们可以确定个人资料页面上的哪些 HTML 组件包含所需信息。 例如,我们可以使用 Beautiful Soup 来提取数据,使用 Selenium 来查找相关的 HTML 组件,以从个人资料中抓取数据。 这是一个代码片段示例,展示了如何从多个 LinkedIn 个人资料中检索个人资料数据 示例 说明 此 Python 脚本通过使用 Selenium 和 BeautifulSoup 的网络抓取技术,展示了如何从 LinkedIn 页面抓取个人资料信息。首先,我们需要导入必要的库,包括 bs4 中的 BeautifulSoup 和 Selenium 中的 webdriver。之后,它会打开一个 Chrome Web 浏览器实例并转到特定的 LinkedIn 个人资料 URL。然后,使用 BeautifulSoup 解析页面的 HTML 内容,提取姓名、职位和摘要数据。最后,将收集到的信息打印出来。 输出 Name: Jack Thomson Headline: Senior Software Developer at Tata AIG General Insurance Company Limited Summary: Professional software engineer who loves to create scalable and cost-effective solutions with Python and its related technologies. 我们现在知道,我们可以使用 BeautifulSoup 和 Selenium 来抓取单个 LinkedIn 个人资料的数据。让我们看看如何为多个个人资料执行此操作。 对于从多个个人资料中抓取信息,我们可以自动化访问个人资料页面、获取数据并将其保存以供以后分析的过程。 此示例脚本说明了如何从多个个人资料中获取个人资料数据 示例 说明 此 Python 脚本使用 Selenium 和 BeautifulSoup 模块,抓取 `profile_urls` 列表中提供的 LinkedIn URL 的个人资料数据。第一步是导入必要的库并打开 `profiles.csv` CSV 文件,其中包含检索到的数据。接下来,使用 Chrome Web 驱动程序,它会反复访问每个个人资料 URL,并使用 BeautifulSoup 提取姓名、职位和摘要数据。最后,在逐行写入 CSV 文件后,它将提取的数据发布到控制台进行验证。 输出 Name: Jack Thomson Headline: Software Engineer | Python Enthusiast Summary: An adept application creator who is enthralled by the idea of developing low-cost and reliable systems with the ability to scale using Python and its relevant technologies. Name: Amy Greens Headline: Data Scientist | Machine Learning Engineer Summary: Data scientist and machine learning engineer proficient in the art of predictive models development and deployment to conquer business challenges. 如上所示的结果,通过在 Python 中使用 Selenium 和 BeautifulSoup,我们一次性获取了多个 LinkedIn 个人资料的数据。感谢代码片段,我们能够访问每个个人资料 URL、检索所需的个人资料数据并将其输出到控制台。 使用此方法,我们已非常成功地使用 Python 中的 BeautifulSoup 和 Selenium 抓取了 LinkedIn 页面个人资料。 结论在本课中,我们将讨论如何使用 Python 编程语言中的 BeautifulSoup 和 Selenium 来抓取 LinkedIn 个人资料。通过利用这些库的强大组合,我们能够读取 HTML 文本、自动化在线交互并从 LinkedIn 页面提取有用数据。我们了解了如何访问 LinkedIn、浏览个人资料以及检索姓名、职位和摘要等信息。程序中的每个阶段都通过附带的代码示例进行了演示,这使得初学者更容易理解。 |
我们请求您订阅我们的新闻通讯以获取最新更新。