爬虫原理
1. 网络连接
网络连接就像在火车站买票一样:旅客选择好目的地,投入硬(纸)币或者刷卡,售票机就会给我们一张带有列车信息的车票。
计算机(乘客)带着请求头和消息体(目的地,车次等信息)向服务器(售票机)发起一次请求(购买车票),相应的服务器(售票机)会返回给计算机相应的HTML文件作为Response(相应的车票)。
这里是一个GET请求。我们常见的还有POST请求。
2. 爬虫原理
在了解了网络连接的基本原理后,爬虫原理就好理解了。网络连接需要计算机一次Request请求和服务器端的Response回应。爬虫同样也需要做两件事:
- 模拟计算机对服务器发起Request请求。
- 接收服务器的Response内容并分析其内容,提取出来。
但是我们要获取的信息通常不是只在一个页面上,这时就需要设计一个爬虫的执行流程。我们常用的有两种:
1. 多页面爬虫流程
通常这样的网站有很多页面,且每个页面的构造都类似。因此,可以使用如下流程:
- 手动翻页并观察各网页的URL构成特点,构造出所有的页面URL保存到列表中。
- 根据URL列表依次循环取出URL
- 循环调用爬虫函数,存储数据。
- 循环结束,爬虫运行结束。
2. 跨页面爬虫流程
- 定义爬取函数爬取列表(目录)的所有专题的URL。
- 将专题URL存入列表中(种子URL)。
- 定义爬取详细页数据函数。
- 进入专题详细页面爬取详细页数据。
- 存储数据,循环完毕,爬虫结束。
页面构造
1. HTML语言
我们常说的网页大部分都是用HTML语言来写的。HTML是按层级规定所属关系。
上面的段代码,就是HTML代码了。
我们通常称<div>这样的代码为标签,即这是一个DIV标签。
- 我们称DIV标签是table标签的父节点
- 称tr标签是table标签的子节点
- 称tr标签为div标签的孙节点
- 称两个tr的关系为兄弟节点
2. 查询网信息
我们在打开要爬取的目标网站,然后通过F12快捷键即可看到如下页面:
在这里我们可以很方便的查看目标网站的页面构成。
本文系本站编辑转载,文章版权归原作者所有,内容为作者个人观点,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请与本站联系,本站将在第一时间删除内容!