在深入探讨网页抓取的具体细节之前,我们需要先了解几个关键概念。
你在网站上看到的大部分书面内容都存储在基于文本的标记语言中,最常见的是HTML。为了便于所有浏览器和设备进行处理和渲染,HTML制定了一些通用规则,所有网站都遵循这些规则。
当人类访问网页时,看到的是HTML代码生成的结果。但像谷歌索引爬虫这样的机器人,关注的是代码本身。可以将其视为相同的信息,只是呈现形式不同。
如果一个人想复制网页上的所有信息,他需要手动选中所有内容(很可能连无用的填充内容也一并选中),点击“复制”,然后粘贴到某个本地文件中。这听起来似乎不算太糟,但试想每周要重复两百次,而且还要做好几次。这将变成一项难以置信的苦差事,而整理所有这些数据同样会是一场噩梦。
有些网站故意设置障碍,让用户难以选中并复制内容。虽然这类网站并不普遍,但它们往往会成为雪上加霜的最后一根稻草。
网页抓取工具是一种从网页中提取HTML代码的机器人。与手动复制相比,它有两个显著优势:机器人能代劳,且速度快得多。从单个页面提取HTML代码可能瞬间完成。决定性因素是你的网速,而手动复制时网速同样会拖慢你的进度。
不过,网络爬虫真正大显身手之处在于从多个来源提取数据。对于功能强大的网络爬虫而言,处理一个网页与一千个网页几乎没有区别。只要你提供一份需要爬取的网页URL列表,机器人就会开始收集数据。