1.1 一个简单的爬虫程序

爬虫指的是按照一定规则自动抓取万维网信息的程序,它主要由网络组件和内容提取组件构成。网络组件负责发起网络请求和接收服务端的响应,内容提取组件负责从服务端响应内容中提取内容。

我们用浏览器访问网页时看到的画面如图1-1所示,这是电子工业出版社官网的出版社简介页面。我们可以根据需求将出版社简介标题和内容复制下来,粘贴到文本文档中保存。

img

图1-1 浏览器窗口截图

这个工作让爬虫来做怎么操作呢?

首先爬虫程序会向电子工业出版社官网的出版社简介页面发出网络请求,然后从服务器返回的响应正文中抽取出版社简介标题和内容。代码片段1-1是完成这项工作的爬虫程序代码。

代码片段1-1

img

程序运行后会在同级目录下生成名为about的文本文档,文档内容如图1-2所示。

img

图1-2 文本文档内容

运行结果说明爬虫程序顺利完成了这项工作。

你可能会有新的疑问:为什么不用复制的方式,而要用爬虫程序呢?

在任务量较小的情况下,使用复制的方式和使用爬虫程序的方式并没有太大差异。但如果要将一万个网页上的内容都保存起来,那么使用爬虫程序的优势就发挥出来了。使用复制的方式完成这项工作的流程如下:

(1)打开浏览器并访问指定的网址。

(2)从网页中复制内容。

(3)打开或创建文本文档。

(4)将复制好的内容粘贴到文本文档中。

(5)保存操作并关闭文本文档。

使用爬虫程序完成这项工作的流程如下:

(1)向指定的网址发出网络请求。

(2)从响应正文中抽取内容。

(3)打开或创建文本文档,并将内容写入到文本文档中,然后自动关闭文本文档。

使用复制的方式时,这种机械性的工作次数越多人越累,但对爬虫程序来说,1和1000仅仅是数字上的区别,而且爬虫程序的效率比人的效率高出几十、几百倍。