零基础入门Python爬虫,一文掌握爬虫核心原理!

在第一个简单的Python教程中,我们采取了以下步骤来抓取Web页面的内容:

私有编辑器007可以自动访问Python电子书和各种视频教程!

链接并检索网页的内容。

用BeautifulSoup处理html数据。

遍历SOUP对象以搜索所需的html元素。

用于简单的数据清理。

将数据写入CSV文件。

作为一名数据科学家,大多数人的第一项工作就是做网络抓取。当时,我不知道如何使用代码从网站中检索数据,这是最符合逻辑、最容易访问的数据源。经过几次尝试,网络抓取对我来说几乎是本能的。今天,它是我几乎每天都在使用的少数技术之一。

在今天的文章中,我将使用几个简单的例子向您展示如何抓取一个网站-例如,从FastTrack获得2018年100强公司的信息。使用脚本自动获取信息的过程,不仅可以节省手工整理的时间,而且可以将所有的企业数据组织在一个结构化的文件中,以便进一步的分析和查询。

太长而无法阅读:如果您只是想要一个基本的Python爬虫示例,那么欢迎使用本文中使用的所有代码(https:/github.com/kabacker/tuorials/blob/Master/pythonscraper/websitesCrape甚么track.py)。

准备开始。

每次决定使用Python做一些事情时,您应该问的第一个问题是,“我需要什么库?”

有几个不同的库可用于Web抓取,包括:

美味的汤。

请求。

刮伤了。

硒。

今天我们将使用美丽的汤库。您只需使用pip(Python包管理工具)就可以轻松地在计算机上安装它:

查看网页。

要找出想要抓取的页面元素,首先需要检查页面的结构。

在TechTrack 100 Enterprise(http:/www.leytrack.co.uk)页面中,右键单击表格并选择“Check”。在弹出的“开发工具”中,我们可以看到页面中的每个元素及其包含的内容。

右键单击要查看的页面元素,并选择“check”以查看特定的HTML元素内容。

现在数据存储在表中,只需要几行代码就可以直接获得完整的信息。如果你想自己练习攀岩的内容,这是一个很好的例子。但是记住,事情并不总是那么简单。

在本例中,所有100个结果都包含在同一页中,而。

标签被分成几行。然而,在实际的抓取过程中,很多数据往往分布在多个不同的页面上,您需要调整每个页面显示的结果总数,或者遍历所有页面,以捕获完整的数据。在“表”页上,可以看到一个包含全部100条数据的表。右键单击它,并选择“检查”。您可以很容易地看到HTML表的结构。包含内容的表体位于如下所示的标签内:

每一行都在一个。

标签,也就是说,我们不需要太复杂的代码,只需要一个循环,就可以读取所有的表数据,并保存到文件中。注意:通过检查当前页面是否发送了HTTPGET请求并获取请求的返回值,还可以获得页面上显示的信息。因为HTTPGET请求通常会返回已经结构化的数据,例如JSON或XML格式的数据,以供后续处理。您可以单击Developer工具中的Network类别(如有必要,只查看XHR选项卡的内容)。此时,您可以刷新页面,加载到页面上并返回的所有请求都将在网络中列出。此外,您可以使用某种REST客户端(例如InSmonia)来发起请求并输出返回值。

刷新页面后,将更新“网络”选项卡的内容。

利用美观汤库处理网页HTML内容。

在熟悉了网页的结构和需要抓取的内容之后,我们最终不得不拿起代码开始工作。

首先要做的是导入需要在代码中使用的各种模块。我们在上面提到了BeautifulSoup,它是一个可以帮助我们处理HTML结构的模块。下一个要导入的模块是urllib,它负责连接到目标地址并获取页面的内容。最后,我们需要能够将数据写入CSV文件并将其保存到本地硬盘驱动器上,因此我们需要导入CSV库。当然,这不是唯一的选择,如果要将数据保存为json文件,则需要导入json库。

接下来,我们需要准备好抓取目标URL。正如上面所讨论的,这个页面已经包含了我们需要的所有内容,所以我们需要做的就是将完整的URL

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181011A03X0A00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券