本文来源于公众号【程序猿声】,作者向柯玮
前言
小玮又来啦。这次给大家带来的是爬虫系列的第一课—HTML和爬虫基础。
在最开始的时候,我们需要先了解一下什么是爬虫。简单地来说呢,爬虫就是一个可以自动登陆网页获取网页信息的程序。
举个例子来说,比如你想每天看到自己喜欢的新闻内容,而不是各类新闻平台给你推送的各种各样的信息,你就可以写一个爬虫去爬取这些关键词的内容,使自己能够按时获得自己感兴趣的内容,等等。
总的来说,爬虫能用来进行数据监控,数据收集,信息整合,资源采集。
然后,我们一起来总结一下我们浏览网页的过程。
1.输入网址
2.浏览器向DNS服务商发送请求
3.找对相应服务器
4.服务器解析请求
5.服务器处理请求得到最终结果发出去
6.浏览器解析返回的数据
7.展示给用户。
这些过程我们并不需要每个过程都十分了解,但是你需要知道在浏览服务器的过程之中,我们需要一个这样的过程。下面给大家解释一下每个步骤到底是干啥的。
第一步很容易,就不多说了。我们从第二步开始,因为我们是通过这个浏览器访问这个网址,我们就需要向DNS服务商发送一个请求,简单来说,当我们输入一个域名的时候,我们需要一个中间的人帮我们去分析这个网址对应的是哪一个IP地址下的服务器,然后找到相应的服务器,当服务器接收到我们的请求时,服务器就会解析一下我们的请求,在解析了之后,会将最终的结果反馈给我们。
比如当我们点击支付,服务器会解析我们这个过程,然后把最终支付成功的结果反馈我们的浏览器,浏览器把这个数据进行渲染之后,再展示给我们。
域名解析
下面我们再来分析一下域名的问题。让我们来看看这个域名
http://movie.douban.com/subject/4920389/?From=showing。
这是我们打开豆瓣电影的某个电影以后,出现的网址。在这个网址里面,我们可以看到一级域名。怎么找到一级域名呢?很简单,.com,.cn……之前的第一串单词或者第一个单词,就是我们的一级域名,在这个网址中,一级域名就是douban,那么douban的左边是什么呢?没错,就是二级域名。
只要你拥有了一个一级域名,那么二级域名是随便你设置的,这里很多小伙伴就会提问了,怎么才能有一个一级域名呢?其实也很简单,只需要前往阿里云等网站就可以购买一个域名了。
所以,在这个位置,你要尤为注意,一级域名是独一无二的,但是二级域名是可以任意的,所以骗子通常会在二级域名上动手脚,大家一定要关注这一点,小心上当受骗。
那么后面的内容是什么呢。/subject/4920389/?,其实类似文件夹一样的东西,就是在我们二级域名以下的一些网址,那么问号以后是什么呢?就是一个网址参数,如果我们前面的参数一样,但是如果最后这个参数不一样,有可能我们看到的网页也不一样。
介绍完了这个,我们来研究研究爬虫的策略,主要分为两个:
1. 从某个页面开始不断爬取页面上的链接,主要分为深度优先搜索和广度优先搜索两种方法,这个不理解没关系,在之后的数据结构篇中我会给大家一一介绍
2. 观察网址的规律,这个很简单,而且也是我们最常用的方法。我们在这里举一个例子。
http://xiaohua.zol.com.cn/lengxiaohua/2.html
http://xiaohua.zol.com.cn/lengxiaohua/3.html
看到上面这两个网址的差别了吗?对,就只是lengxiaohua/后面的数字不一样,