第2章 数据抓取

在上一章中,我们构建了一个爬虫,可以通过跟踪链接的方式下载所需的网页。虽然这个例子很有意思,却不够实用,因为爬虫在下载网页之后又将结果丢弃掉了。现在,我们需要让这个爬虫从每个网页中抽取一些数据,然后实现某些事情,这种做法也称为抓取(scraping)

首先,我们会介绍一些浏览器工具,用于查看网页内容,如果你有一些Web开发背景的话,可能已经对这些工具十分熟悉了。然后,我们会介绍3种抽取网页数据的方法,分别是正则表达式、Beautiful Soup和lxml。最后,我们将对比这3种数据抓取方法。

在本章中,我们将介绍如下主题:

  • 分析网页;
  • 抓取网页的方法;
  • 使用控制台;
  • xpath选择器;
  • 抓取结果。

想要理解一个网页的结构如何,可以使用查看源代码的方法。在大多数浏览器中,都可以在页面上右键单击选择View page source选项,获取网页的源代码,如图2.1所示。

..\0201.jpg

图2.1

对于我们的示例网站来说,我们感兴趣的数据是在国家(或地区)页面中。让我们来查看一下页面源代码(通过浏览器菜单或右键单击浏览器菜单)。在英国的示例页面(http://example.python-scraping.com/view/United- Kingdom-239)的源代码中,你可以找到一个包含国家(或地区)数据的表格(可以在页面源代码中通过搜索来找到它)。

<table> <tr id="places_flag__row"><td class="w2p_fl"><label ...

Get 用Python写网络爬虫(第2版) now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.