初识爬虫分类和HTML组成
爬虫分类
爬虫可分为三类:通用网络爬虫、聚焦网络爬虫和增量式网络爬虫
通用网络爬虫
通用网络爬虫是搜索引擎的重要组成部分,通用网络爬虫需要遵守robots协议,网站通过此协议告诉搜索引擎那些页面可以抓取,哪些页面不允许抓取。
robots协议:是一种“约定俗成”的协议,并不具备法律效力,它体现了互联网人的“契约精神”。行业从业者会自觉遵守该协议,因此它又被称为“君子协议”。
聚焦网络爬虫
是面向特定需求的一种网络爬虫程序。它与通用爬虫的区别在于:聚焦爬虫在实施网页抓取的时候会对网页内容进行筛选和处理,尽量保证只抓取与需求相关的网页信息。聚焦网络爬虫极大地节省了硬件和网络资源,由于保存的页面数量少所以更新速度很快,这也很好的满足一些特定人群对特定领域信息的需求。
增量式网络爬虫
是指对已下载网页采取增量式更新,它是一种只爬取新产生的或者已经发生变化网页的爬虫程序,能够在一定程度上保证所爬取的页面是最新的页面。
编写爬虫的流程
爬虫程序与其他程序不同,它的思维逻辑一般都是相似的,所以无需我们在逻辑方面花费大量的时间。下面对python编写爬虫程序的流程做简单地说明:
- 先有urllib模块的request方法打开url,得到网页HTML对象
- 使用浏览器打开网页源代码分析网页结构以及元素节点
- 通过Beautiful Soup或正则表达式提取数据
- 存储数据到本地磁盘或数据库
网页构成
网页一般由三部分组成,分别是HTML(超文本标记语言)、CSS(层叠样式表)和JavaScript(简称“JS”,动态脚本语言),它们三者在网页中分别承担着不同的任务。
- HTML负责定义网页的内容
- CSS负责描述网页的布局
- JavaScript负责网页的行为
HTML
HTML是网页的基本结构,它相当于人体的骨骼结构。网页中同时带有“<”,“>”符号的都属于HTML标签。常见的HTML标签如下:
| 标签 | 描述 |
|---|---|
| 声明为HTML5文档 | |
| .. | 网页的根元素 |
| .. | 包含了文档的元数据,如定义网页编码格式为utf-8 |
| 描述文档的标题 | |
| .. | 定义文档的主体 |
| .. | 定义文档中的节 |
.. |
定义文档中的段落 |
|
定义无序列表 |
|
定义有序列表 |
| 定义列表的项目 | |
CSScss表示层叠样式表,其编写方法有三种,分别是行内样式、内嵌样式和外联样式。CSS代码演示如下:
运行结果如下: PS:
JavaScriptjs负责描述网页的行为,比如,交互的内容和各种特效都可以使用js来实现。当然也可以通过其他方式实现,比如jQuery、还有一些前端框架(Vue、React等),不过它们都是在js的基础上实现的。 简单示例:
运行结果如下: 总结如果用人体来比喻网站结构的话,那么HTML是人体的骨架,它定义了人的嘴巴、眼睛、耳朵长在什么位置;CSS描述了人体的外观细节,比如嘴巴长什么样子,眼睛是双眼皮还是单眼皮,皮肤是黑色还是白色等;而js则表示人拥有的技能,比如唱歌、打球、游泳等。 相关 |