爬虫原理

当自己需要数据的时候,能够分分钟就能获得,是不是一件很爽的事情。为了获得自己想要的数据,我们有必要弄懂爬虫原理。经常用百度搜索的筒子们,有没有想过当你输入百度地址时候,网络那边都发生了什么,本章讲一下网络连接原理和爬虫原理。

网络连接原理如下图:


打个比方:网络连接像是在自助饮料售货机上购买饮料一样:购买者只需选择所需饮料,投入刷二维码,自助饮料机就会弹出相应的商品。如上图,计算机(购买者)带着请求头和消息体(钱和所需饮料)向服务器(自助饮料售货机)发起一次request请求(购买),相应的服务器(自助售货机)会返回计算机相应的HTML文件作为Response(相应的商品)。

爬虫原理

爬虫其实就是模仿计算机:

1、模拟计算机对服务器发起Request请求

2、接受服务器端的Response内容并解析、提取所需的信息

我们经常遇到网页请求主要分为两种:多页面和跨页面。相应的爬虫流程也是这两种。

1.多页面爬虫流程

示例图:


多页面

QQ空间说说,58赶集等信息网站很多都是这个结构,每页结构都差不多。这种类型的网页爬虫流程为:

1、手动翻页查看一下各网页的URL构成的特点,构造出所有页面的URL存入列表中。

2、根据URL列表一次循环出URL

3、定义爬虫函数(这个是重点,也是难点)

4、循环调用爬虫函数,存储数据(根据数据形式,选择不同数据库)

5、循环完毕,结束爬虫程序


跨页面爬虫流程

以为例:列表页和详细页分别如下图


列表页


详细页

爬虫流程如下:

1、定义爬取函数爬取列表页的所有专题URL

2、将专题URL存入列表中(种子URL)

3、定义爬取详细页的数据函数

4、进入专题详细页爬取详细页数据

5、存储数据、循环完毕,结束爬虫程序。如下图


你可能感兴趣的:(爬虫原理)