Python - 网页抓取模块
-
简述
在本章中,让我们学习可用于网络抓取的各种 Python 模块。 -
使用 virtualenv 的 Python 开发环境
Virtualenv 是一个创建隔离 Python 环境的工具。在 virtualenv 的帮助下,我们可以创建一个文件夹,其中包含所有必要的可执行文件,以使用我们的 Python 项目所需的包。它还允许我们在不访问全局安装的情况下添加和修改 Python 模块。可以使用以下命令安装virtualenv −现在,我们需要在以下命令的帮助下创建一个代表项目的目录 -现在,借助以下命令进入该目录 -现在,我们需要初始化我们选择的虚拟环境文件夹,如下所示 -现在,使用下面给出的命令激活虚拟环境。成功激活后,您将在左侧括号中看到它的名称。我们可以在此环境中安装任何模块,如下所示 -要停用虚拟环境,我们可以使用以下命令 -您可以看到 (websc) 已被停用。 -
用于网页抓取的 Python 模块
网络抓取是构建代理的过程,该代理可以自动从网络中提取、解析、下载和组织有用的信息。换句话说,网络抓取软件将根据我们的要求自动从多个网站加载和提取数据,而不是手动保存网站数据。在本节中,我们将讨论用于网络抓取的有用 Python 库。 -
要求
它是一个简单的 python 网页抓取库。它是一个用于访问网页的高效 HTTP 库。在...的帮助下Requests,我们可以获得网页的原始 HTML,然后可以对其进行解析以检索数据。使用前requests,让我们了解它的安装。安装请求
我们可以将它安装在我们的虚拟环境或全局安装中。在...的帮助下pip命令,我们可以很容易地安装它如下 -例子
在此示例中,我们正在为网页发出 GET HTTP 请求。为此,我们需要首先导入请求库,如下所示 -在以下代码行中,我们使用 requests 为 url 发出 GET HTTP 请求:https ://authoraditiagarwal.com/通过发出 GET 请求。现在我们可以使用检索内容.text属性如下 -请注意,在以下输出中,我们得到了前 200 个字符。 -
网址库3
它是另一个 Python 库,可用于从 URL 中检索数据,类似于requests图书馆。您可以在 https://urllib3.readthedocs.io/en/latest/的技术文档中阅读更多信息。安装 Urllib3
使用pip命令,我们可以安装urllib3无论是在我们的虚拟环境中还是在全局安装中。示例:使用 Urllib3 和 BeautifulSoup 进行抓取
在下面的示例中,我们使用Urllib3和BeautifulSoup. 我们正在使用Urllib3在请求库的位置,用于从网页获取原始数据 (HTML)。然后我们使用BeautifulSoup用于解析该 HTML 数据。这是您在运行此代码时将观察到的输出 - -
硒
它是一个开源自动化测试套件,适用于跨不同浏览器和平台的 Web 应用程序。它不是一个单一的工具,而是一套软件。我们为 Python、Java、C#、Ruby 和 JavaScript 提供了 selenium 绑定。在这里,我们将使用 selenium 及其 Python 绑定来执行网页抓取。您可以在链接Selenium上了解更多关于 Selenium 和 Java 的信息。Selenium Python 绑定提供了方便的 API 来访问 Selenium WebDrivers,如 Firefox、IE、Chrome、Remote 等。当前支持的 Python 版本为 2.7、3.5 及更高版本。安装硒
使用pip命令,我们可以安装urllib3无论是在我们的虚拟环境中还是在全局安装中。由于 selenium 需要驱动程序来与所选浏览器交互,因此我们需要下载它。下表显示了不同的浏览器及其下载链接。ChromeEdgeFirefoxSafari例子
这个例子展示了使用 selenium 进行网页抓取。它也可以用于称为硒测试的测试。下载指定版本浏览器的特定驱动程序后,我们需要用 Python 进行编程。一、需要导入webdriver从硒如下 -现在,提供我们根据要求下载的网络驱动程序的路径 -现在,提供我们想要在现在由我们的 Python 脚本控制的 Web 浏览器中打开的 url。我们还可以通过提供 lxml 中提供的 xpath 来抓取特定元素。您可以检查由 Python 脚本控制的浏览器的输出。 -
刮擦
Scrapy 是一个用 Python 编写的快速、开源的网络爬虫框架,用于在基于 XPath 的选择器的帮助下从网页中提取数据。Scrapy 于 2008 年 6 月 26 日首次发布,获得 BSD 许可,并于 2015 年 6 月发布里程碑 1.0。它为我们提供了从网站提取、处理和构建数据所需的所有工具。安装 Scrapy
使用pip命令,我们可以安装urllib3无论是在我们的虚拟环境中还是在全局安装中。有关 Scrapy 的更多详细研究,您可以转到链接 Scrapy