爬虫可以理解为模拟用户在浏览器或者某个应用上的操作,把操作的过程、实现自动化的程序或脚本。

爬虫是如何实现的呢?

想知道如何实现爬虫,需要先了解在浏览网页的时候都发生了什么事情?知其然,更要知其所以然!

接下来我们通过示例说明实现爬虫的基本原理。

当我们在浏览器中输入网址www.baidu.com后回车发生了什么?

我们来看看这张图:

浏览网页流程

浏览器与服务器之间的交互过程说明:

  1. 浏览器询问DNS服务器获取www.baidu.com的真实IP地址;
  2. 返回真实的IP地址给浏览器;
  3. 浏览器使用真实IP地址连接www.baidu.com的Web服务器,请求页面数据。
  4. www.baidu.com的Web服务器接收到这个请求后,响应并返回页面文档数据给浏览器。
  5. 可以愉快的看到页面啦。

整个过程中的关键信息为:

  1. 浏览器与服务器之间的网络通信协议: HTTP协议
  2. 浏览器与服务器之间的数据格式: HTML超文本标记格式

HTTP协议 的作用是建立浏览器Web服务器之间的通信连接通道, 这个通信通道可以传一段文本信息、一个图片或者一个文件都可以。这是数据传输的基础。

HTML超文本标记语言格式 的作用是告诉浏览器应该如何显示收到的文档数据。

注:暂时忽略DNS服务器交互过程,这与爬虫逻辑无关,它只于获取IP地址速度有关。


爬虫原理本质?

如果理解了上面的示例交互过程,那么对于理解爬虫的本质就不难了。

我们的爬虫本质就是在使用HTTP协议 来模拟浏览器行为与Web服务器交互获取HTML页面数据并解析处理的工具。

那么HTTP协议到底是什么呢?HTML超文本标记语言又是怎样描述Web页面的呢? 接下来我们就来一个一个的学习。提升自己的内功就在于点滴的积累。

关于电子书

博客会定期更新爬虫知识!如果你希望获取电子书,可以点击下方链接获取.

电子书阅读地址

爬虫教程