爬取一个网页,我们需要了解一下网页的结构,如果想要深入学习,建议看一下《网页设计与制作》,这本书讲述较为详细,推荐阅读。
网页的三大组成部分——HTML、CSS、JavaScript,如果把网页比作一个人的话,HTML相当于骨架,JavaScript相当于肌肉,而CSS相当于皮肤,三者结合起来形成一个完整的网页。
1.HTML
HTML(Hyter Markup Language 超文本标记语言),主要是通过HTML标记对网页中的文本、图片、声音等内容进行描述。HTML提供了很多种标记,如段落标记(p标签)、图片标记(img标签)、视频标记(video标签)等,网页中需要定义什么内容,就可以用相应的标记描述。
从图可见,网页内容是通过HTML标记(图中带有“<>”的符号)描述的,整个网页由各种标签嵌套而成。
2.CSS
HTML其实是一个纯文本文件,只是网页的一个骨架,只有HTML的网页其实并不美观,为了让网页看起来更好看,我们需要借助CSS。
CSS(Cascading Style Sheets 层叠样式表),“层叠”指的当HTML中引用了数个样式文件,并且样式发生冲突时,浏览器能依据层叠顺序处理,“样式”指的是网页文字、图片等的大小、颜色、排列等格式。
body {
font: 12px/1.14 SF Pro Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,Helvetica Neue,Arial,sans-serif;
-webkit-font-smoothing: antialiased;
color: #333;
outline: 0;
}
font、color、outline即样式设置
CSS的位置很灵活,即可以嵌入在HTML文档中,也可以时一个单独的外部文件,如果是独立的文件,则必须以.css为扩展名,使用link标签引入文件。上图CSS显示为内嵌方式,一般集中放在HTML文档头部(<head>标签内)。
3.JavaScript
JavaScript,简称JS,是一种脚本语言,可使网页具有交互性(HTML和CSS制作的网页是静态网页),js脚本语言使得用户与信息是一种实时、动态、交互的页面功能,如页面效果切换、动画效果、页面游戏等,它还可以控制cookies,包括创建和修改等。
JavaScript通常也是以单独文件形式加载,后缀为js,在HTML中通过script标签引入,如<scrip src="jquery-2.1.0.js" type="text/javascript"></script>。
4.爬虫的基本原理
我们可以把互联网看作一张大网,而爬虫(即网络爬虫)就是在网上爬行的蜘蛛,把网的节点比作一个个网页,爬虫爬到一个节点就相当于访问了该页面,获取了其信息,节点之间的线就像与网页与网页之间的链接关系,蜘蛛可顺着节点连接继续爬行到下一个节点,即通过一个网页爬取另一个网页,这样整个网的节点都可以被爬取到了。
那么爬虫的基本过程可以简单概述为:获取网页——提取信息——保存数据。
静态网页与动态网页
静态网页:用HTML代码编写的页面,每个网页都有一个固定的URL,加载速度快,编写简单,但可维护性差、交互性差,不能根据URL灵活多变地显示内容。
动态网页:以数据库技术为基础,可以大大降低网站维护的工作量,它可以动态解析URL参数的变化,关联数据库并动态呈现不同的页面内容,可以实现用户登录与注册功能。