本文共 1043 字,大约阅读时间需要 3 分钟。
本节书摘来自异步社区《用Python写网络爬虫》一书中的第2章,第2.1节,作者 [澳]Richard Lawson(理查德 劳森),李斌 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
在上一章中,我们构建了一个爬虫,可以通过跟踪链接的方式下载我们所需的网页。虽然这个例子很有意思,却不够实用,因为爬虫在下载网页之后又将结果丢弃掉了。现在,我们需要让这个爬虫从每个网页中抽取一些数据,然后实现某些事情,这种做法也被称为抓取(scraping)。
首先,我们会介绍一个叫做Firebug Lite的浏览器扩展,用于检查网页内容,如果你有一些网络开发背景的话,可能已经对该扩展十分熟悉了。然后,我们会介绍三种抽取网页数据的方法,分别是正则表达式、Beautiful Soup和lxml。最后,我们将对比这三种数据抓取方法。
想要了解一个网页的结构如何,可以使用查看源代码的方法。在大多数浏览器中,都可以在页面上右键单击选择View page source选项,获取网页的源代码,如图2.1所示。
我们可以在HTML的下述代码中找到我们感兴趣的数据。
Firebug Lite安装完成后,可以右键单击我们在抓取中感兴趣的网页部分,然后在菜单中选择Inspect with Firebug Lite,如图2.2所示。
此时,浏览器就会打开如图2.3所示的Firebug面板,并显示选中元素周围的HTML层次结构。
如图2.3所示,当选择国家面积这一属性时,我们可以从Firebug面板中清晰地看到,该值包含在class为w2p_fw的
元素中,而元素又是ID为places_area__row的转载地址:http://ttkja.baihongyu.com/