使用Beautiful Soup和Requests爬网

通过一个项目使用Beautiful Soup和Requests库。

Web抓取是一种从不同网站抓取数据的技术。 该数据可以采用文本,链接,表格和图像的形式。 尽管从网站上抓取任何私人数据是非法的,但我们仍然可以抓取所有公开可用的数据,并且可以在我们的项目中使用它们。 公开数据是一种公开的数据,供所有人使用,例如,参见电子商店中可用的图书清单。 私有数据是公司用户私有的数据,例如登录凭据,购物车详细信息。

在某些情况下,当我们需要比较不同网站上不同产品的价格,或者我们需要了解来自不同网站或特定网站的产品评论时,Web抓取可能会非常有用。

我们将在总共5节中全面介绍Web爬网。

  • 安装与理解
  • Find vs Find_all vs Select
  • 从网上抓取链接,表格和图像
  • 分页和文件交互
  • 项目

安装与理解

在Python中,我们有许多库和程序包可用于执行Web抓取,但是最简单,最简单的库是Beautiful Soup。

Beautiful Soup是用于解析HTML和XML文档的Python软件包。 它为不同的解析页面创建了一个解析树,可用于从Source(HTML)提取数据,这对于Web抓取非常有用。 它适用于python 2和3。Beautiful Soup使用请求模块将连接请求发送到目标服务器。

Requests是一个Python HTTP库,根据Apache License 2.0发布。 它也是python中安装最多的软件包。 该库的目标是使HTTP请求更简单,更人性化。 使用单行代码,我们可以在python脚本和目标服务器之间建立连接。

首先,安装所有需要进行网络抓取的库。 首先,您需要从python.org安装最新版本的python。 现在打开终端并创建一个文件夹并命名为任何名称,但是如果要遵循相同的名称,只需将其命名为Bs4。 现在,在文件夹Bs4中,我们将创建一个虚拟环境,以便可以在其中安装所有软件包。 输入,

在终端。 这里的env是环境名称。 现在您需要激活环境,只需在终端中键入env \ scripts \ activate即可激活您的环境。 现在,您需要安装软件包,只需使用pip并安装所有软件包即可。

只是为了检查,键入python,然后导入请求(如果一切顺利),那么您将不会看到任何错误。

网页结构
HTML代表超文本标记语言。HTML用于设计网页的结构。 它包含几个标签,页面的整个内容都驻留在其中。 在HTML中,有不同的标签可以完成不同的工作。 对于图片,有一个IMG标签,对于标题,有标题标签(h1-h6)等。 我们还可以通过将一个标签放在另一个标签中来在HTML中执行标签的嵌套。 HTML中的每个标记都有一个唯一的ID或一个称为CSS选择器的类。 使用这些CSS选择器,我们执行抓取。 让我们看一个简单的HTML网页的示例。

在上面的HTML代码中,我们可以看到整个代码分为两个主要标签head和body。 在head标签中,我们具有meta标签,标题以及指向不同文件和API的链接。 在我们的正文标签中,我们具有标题标签,段落标签,图像标签,链接和div标签。 div标签就像一个容器,我们可以在其中存储任何内容。 在第二个div标签中,我们还有一个唯一的ID和一个类名。 使用这些类名和ID,我们将从网页上抓取数据。

工作原理

同样如上图所示,首先,我们向服务器发送Http连接请求,然后服务器以响应方式回复给我们。 如果响应为<200>,则说明我们已经成功实现了机器与Web服务器之间的连接。 下一步是使用Beautiful Soup库从服务器获取源代码。 为此,我们再次向服务器发送请求,然后服务器用源代码回复给我们。 然后,使用Beautiful Soup Library中的一些函数,取出所需的所有内容。

本文及附加项目完整代码

详情参阅 - 亚图跨际

你可能感兴趣的:(Python,Python)