00:00
OK,同学们,那么接下来啊,我们要学一下爬虫啊,在学爬虫之前呢,我们把爬虫所涉猎的这些知识点全部讲完了,很多同学呀,都对这个爬虫比较感兴趣,但是我想问一下各位同学,什么是爬虫呢?对吧,诶,你先给我解释一下这个概念,其实爬虫这个概念是比较抽象的,不是很好理解,那么在这儿啊,同学们,我在这儿啊,找了一张图来描述什么是爬虫。大家看在最外层呢,是一张蜘蛛网对吧?哎,一张非常大的蜘蛛网,然后在这里边儿呢,我们还有一个啥呀,我们还有个蝴蝶对吧?诶,这样一个蝴蝶,然后还有一只蜻蜓,还有一只蜘蛛,那么说如果我们把整个互联网啊比作一张大的蜘蛛网啊,就是整个互联网把它比成一张大的蜘蛛网,那么这一台计算机上的数据便是啥呢?便是这一个小猎物,什么意思呢?
01:02
你把它当做一个啥,当做一个淘宝,诶对吧,当做一个淘宝,把它当成京东,诶这里边儿是不是都是我们想要的数据啊,我们想要呀,淘宝篮球鞋的销售情况,想要京东这个运动鞋的一个销售情况,我是不是都想拿到它呀,对吧?而我们说的爬虫程序就是指的是什么这个小蜘蛛。那在这张网上,是不是蜘蛛是占领了绝对的主导权呢?对吧,各位,所以说这只小蜘蛛会沿着这个蜘蛛网想抓取自己想要的数据,我们把这样的一种情况就叫做爬虫,其实爬虫到底是什么东西呢?我跟各位同学讲啊,它就是一段程序。而这段程序运行完之后,它就能干啥呀,就能获取到你想要的那些数据。所以说在这里边我给大家总结了一个小概念,有两解释,有两个解释啊,我们来看一下说解释一,我们通过一个程序啊,根据一个地址啊进行爬取网页,这个地址指的就是它的一个域名嘛,啊这个我也标示了一下啊,就是3W点淘宝点com。
02:18
我来获取这个网页,获取完网页之后,我是不是可以就拿到了里边的信息呀?诶,我们粗略的把这个爬虫概念简化了一下。还有一个就是解释二,我们可以干什么?我们可以使用程序来模拟浏览器,向服务器发送请求,然后获取响应信息,啥意思呢?也就是说我们在这写一段代码,让他假装是什么是浏览器,然后呢,浏览这个服务器是不是就会给干啥呀,给我们数据呀,举例说明。假如说呀,同学们我们在这儿啊,随便打开一个网站,我打开一个京东对吧?诶京东这边打开,然后这里边有个什么家用电器,那同学们我们来看一下啊,这个网页中我们写一段小代码,让他去访问这个网页,那我是不是就可以获取到啥呀,这里边儿的一个平板电视的一些数据了呀。
03:23
对吧,我就要这几个啊,当然它这里边它是这么显示的哈,来看它,诶就这样要这些数据啊,要这些数据,所以说大家要知道的是什么,我们可以使用程序来模拟浏览器,向服务器发送请求,相当于能上网了,然后呢,我们来获取响应信息,这个就是一个爬虫,那么大家啊,可以简单的去了解一下爬虫相关概念啊。那么说我们在学习爬虫的时候呢,爬到底哪些是我们的爬虫核心呢?啊,第一个同学们要知道啊,首先我如果大家要知道哈,想要爬取数据,我是整个页面所有的东西都要吗?
04:09
是吗?那其实不是这样的,同学们啊,不是这样的,假如说我这里边有个厨卫电器啊,厨卫电器这里边有一些厨卫电器,有今日秒杀呀,超级爆款等等,我只想要什么,我只想要这里边儿的一个啥叫做今日秒杀,那其他的东西我是不是就不要了各位。对不对?所以说我们爬虫真正的核心指的是什么?第一个就是爬取整个网页,包含了网页中所有的内容,这是我们第一步要做的,但是呢,它其实并不难。那说爬虫的时候呢,那第二步要干啥呀?同学们,你是想要所有的数据吗?不是的吧,我们想要的是什么?我们是不是想要的是里边的部分数据,而这个就是我们在接下来的一大模块要讲的内容,叫啥呢?叫解析啊,叫解析,我们就是将网页中你得到的数据进行解析,原来不是所有的内容吗?不解析的意思是啥呀?就是要所有内容中的部分内容,这个东西呢,我们就叫做解析数据,而这两个就是爬虫的核心啊,你第一步要做的。
05:28
那第三步说有的同学问了老师啊,那我学爬虫有没有什么难点呢?有大家注意啊,爬虫的难点就是爬虫与反爬虫之间的这个博弈,啥叫爬虫与反爬之之间的博弈呢?我给大家举个例子啊。假如说你喜欢一个女孩,这个女孩叫什么呢?叫做诸葛钢铁啊,你跟诸葛钢铁说你们俩之前是不认识的啊,然后呢,你遇见了他,就相当于遇见了爱情,然后你跟诸葛钢铁表白,你说钢铁呀,对吧,我喜欢你,好,我问同学们,你跟他表白之后,大概率会发生一个什么事件呢?
06:11
是不是他拒绝了你?那为啥拒绝了你呢?肯定是有原因的呀,那要么啊你长得不够帅,要么你没戴眼镜对吧?要么你今天没有穿黑色的衣服等等等等,是不是各种各样的理由啊?那么所谓的爬虫指的是啥呀?诶,你管他要数据,你要从这个位置管,假如说它是钢铁对吧,你管他要数据。但是呢,他没有给你数据,这叫啥呀,这叫反扒,你管他要数据我们叫做爬虫,而他没给你数据叫做反扒,哎,所以说这个之间的博弈是爬虫的一个难点。啊,但是请请同学们记住啊,他如果拒绝你一定是有原因的,而我们如果找到了他这个在意的点,是不是我们就可以爬取成功了呢?对不对呀,所以说爬虫真正的难点在于啥呀,爬虫与反爬虫之间的这个博弈啊,所以说大家注意啊,这就是爬虫的一个核心啊,稍后呢,我们都用代码去一一的去验证它。
07:20
那有同学说呀,老师呀,我学爬虫,我想学爬虫,其实我也不知道我为什么学爬,想学爬虫,我就是感觉他很厉害,我就想要从网上去采集数据啊,确实是对的啊,那首先我告诉各位啊,爬虫的用途大概有四大点,当然呢,这里边我找了一个图啊,这些是爬虫现在在国内的一个占比。首先爬虫现在大部分的用途是啥呢?做数据分析,啥叫数据分析呀,就是你将这个数据采集过来之后,然后呢,我分析一下这个数据是什么样子的,诶这是我们在爬虫中用的第一个用途,第二个呢,就叫社交软件的冷启动,啥叫社交软件冷启动啊,我不知道大家听没听过一个聊天软件啊,叫陌陌。
08:14
啊,这是很多年前兴起的一款社交软件,但是你有没有发现,你在最开始在注册陌陌之后,你跟很多人去聊天,结果你发现他是不是不理你啊?对吧?他为啥不理你?是没看到吗?你长得那么帅,他难道不想搭理你吗?那不是的,是因为什么?是因为当时默默爬取了微博的一些账号。哎,然后当做一个啥呢,当做一些这个假的数据,然后你跟他聊的,其实那些人都不真实存在的啊,所以说最开始的时候有一些社交软件啊,来爬取了一些其他网站的数据,作为自己的用户。啊,感觉自己上当受骗了对不对啊好,还有一些就是舆情监控啊,假如说啊,我们有一些呃,人流量对吧?哎,洪水这些数据我们都爬渠道对吧,这些指数天气我们爬渠道之后,我们就能分析啥呢?分析某种特殊情况的这个发生啊,还有一些竞争对手的监控啊,我记得呃之前某一年。
09:24
啊,某一年咱们现在国内两个比较大的电商平台啊,他们互相采集了啥呀,互相采集了这个对方的数据,诶我发现你这个同样等级的信号,这个电脑型号你怎么比我便宜一点呢。那咋办呢?我就再降价,那结果呢,当时啥呢,这网站都有漏洞,他减价之后,他爬取他的数据发现,哎,你比我便宜,我又再减价,结果两个人啊,最后这台电脑降到多少钱呢?大概不到3000块钱啊,所以说当时就发生了一个小问题啊,当然确实他也能干什么呢?做竞争对手的监控,这是爬虫的大部分的一个用途啊,大部分一个用途,当然呢,在这里边画一个啥呢?爬虫流量目标行业分布,那这个东西是什么呢?
10:12
是现在咱们国内来讲,爬虫流量目标的大概几个行业的一个分布情况,大家可以很清晰的看出来哈,这里边儿出行类占到了最大一个占比。那为啥呢?同学们,为啥呢?咱们现在是不是都用过很多抢票软件啊,对吧?诶用了很多抢票软件,你说现在咱们的12306不是全国唯一独一家的一个售票工具吗?为什么其他的像什么智行啊,飞猪啊等等等等,他也能抢票呢?那这些票都是从哪抢的呢?我告诉各位哈,他就从12360来抢的。他用一个爬树软件,高频次的去访问12306。啊,所以说这个就非常非常恐怖啊,对吧,包括机票也是一样的,什么亚洲航空,它应该是这个访问量最大的啊,这样一个出行类的一些软件啊,所以12306其实承受着很多很多痛苦啊同学们为啥呢?很多购票软件啊,很多爬虫软件,天天的无时无刻的无穷无尽的来访问他,他非常非常痛苦,对吧,导致现在出行类的东西在整个爬虫中,它占了很大的一份占比啊,很大的占比还有社交类的,社交类其实啊,最大的灾区是属于啥呢?就是微博呀,大家注意,可我不知道有没有同学玩微博啊,我刚我同学讲微博是现在很多聊天工具的一个啥呢?第一目标我干啥,我要爬你。
11:47
不叫爬,你为什么我把你爬取这些数据,我当做自己聊天软件的一些啥,一些假用户,然后跟你来聊,跟你去,不能跟你聊吧,咋的,我跟你我看让你看到我让你关注,我让你干啥呢,让你跟我说话来引流,哎,所以说社交类的软件,微博是一个重态区,包括他的文章啊,包括他的视频呢,等等等等啊等等等,还有电商类的,刚才也跟大家说过了哈,电商类的就是啥呀,这个这个呃,互相对吧,有个啥呢?竞争对手监控,这也是有一个比较大的占比,还有一个比较大的占比是什么呢?就是我们政府部门。
12:27
啊,政府部门,那其实跟各位同学去说一下啊,政府部门现在在咱们国内来讲基本上都是。只有一个对吧,诶所有的东西只有一个,我没有没有这个这个分公司啊,什么也没有对吧,那为什么说它的占比也要大呢?那举例说明,我们有一些天气网,中国天气网对吧?我们有一些这个公司的相关信息,那这些东西只有政府有啊。那为啥有一些其他软件能查到呢?同学们想想是不是这些软件也爬取了政府部门的数据啊,对吧,各位,所以整个的这一类的东西啊,它都占比很多,占比很大,所以说爬虫在我们身边无时无刻都存在啊,这是这是爬虫的用途,同学们啊,了解即可。
13:18
好,那么还有一些就是啥呢?爬虫的一个分类,那在这里边儿呢,我们先简单的介绍一下爬虫的分类大概有几点呢?大概有两点啊,大概有两点,第一个就叫做通用爬虫。那何为通用爬虫呢?大家注意啊,通用爬虫并不是我们要学的爬虫,为什么啊?因为它爬取的这些数据基本上都是无用的啊。一会儿我来解释一下,首先用通用爬虫的实例啊,大概有这几个,就是搜索引擎。啊,这几个都是用的通用爬虫,那你有没有发现你在搜索引擎去检索一些文章,检索一些数据的时候,它出现的重复率非常大呀。
14:05
对吧,然后假如说你去检索一些其他的东西的时候,他都干啥呢?谁花钱谁就放在前边了吧,对吧,因为他有一个竞价排名,这样有个竞价排名。所以说在这里边通用爬虫做的最不好的一件事就是本应该我们通过啥呀,有一个配置rank的一个算法进排名,假如说网站流量啊,点击率等指标,对吧?哎,我们应该通过这个来做一个网站排名,但是呢,现在不的了。他啥呀叫竞价排名,啥叫竞价排名啊,你给我的钱多,我就把你放前边,你给我的钱少,那对不起了,你可能在第一页都看不到了,所以说这种竞价排名啊,我认为就不太好,所以通用爬虫并非我们程序员要做的。啊,大家看一下缺点啊,抓取的数据大多都是无用的啊,大多都是无用的,然后呢,我们也不能根据用户的需求来精准的获取数据,所以说通用爬虫不是记住啊,同学们,它不是我们来学习的啊,不是我们来学我们要学习的,啥叫聚焦爬虫。
15:15
这里边儿有一些logo协议,稍后我会带各位同学看一下啊,这些东西呢,都是通用爬虫一个约定俗成的协议,但是对于我们来讲,我们不需要去遵守它啊,不需要去遵守它,好,同学们还有一个东西呢,就与通用爬虫相对应的,也是爬虫分类的第二个,也是我们常常去使用的一个爬虫方法,那叫啥呢?叫做聚焦爬虫,那聚焦爬虫它是什么意思呢?首先根据需求来实现爬虫程序来抓取需要的数据,我们能精准的定位到我们想要的数据,假如说在这儿我们打开一下。啊,然后这是当当网对吧,当当网这个页面中的东西很多呀,我们都知简单的看过页面啊,有什么U标签啊,有什么OL标签啊,有什么table啊,有TR呀,有TD等等等等,那么这些东西我们都想要吗?
16:13
是不是不是这样的,同学们,我们是不是只想要啥呀,要这个书的图片呢,要书的这些介绍啊,书的价格啊,原始定价呀,包括一些它的一些简介等等等等,我们只想要这些,所以说大家注意啊,所谓的聚焦爬虫,就是我们根据需求来实现爬虫程程序,然后并且我们要抓取到啥呀,我们想要的数据。不是说所有的数据都要的,那是不对的,而且呢,他这样也不准确,对吧,各位,哎,设计思路是什么呢?大家要知道,首先我要确定一下我要爬取的那个网站,所以在这里边要确定爬取的URL。哎,然后呢,我们来模拟浏览器,通过HTTP协议访问URL。
17:06
什么意思呢?我们要模拟一个浏览器,然后来访问这个地址,并且获取服务器返回的HTML代码。什么意思呢?我去管他要他会第一步将这页面中所有的数据都给我。啊,记住啊,同学们所有的哪怕是一个这个小竖线,他都把这东西给我啊,他都把这东西给我,但是这个不是说我们想要的是全部数据啊,而是啥呀,我们在解析这个字串,那它的描述是这个样子的,说根据一定的规则来提取这个数据,诶就是这个,我们把它叫做啥呢?叫做聚焦爬虫啊,将我们的需需求聚焦到整个网页中,我们想要的那一个部分,我们把它叫做聚焦爬虫。啊,聚焦爬虫还有一些啊,同学们,我们可能在工作中啊,会遇到一些反扒手段,那么在后续的代码中呢,我也会跟同学们一一的去做解释啊,去做介绍,第一个啊叫UA user agent。
18:15
那UA是什么意思呢?假如说啊,你模拟浏览器向服务器发送请求,而浏览器会包含啥呢?会包含很多什么?你的电脑的版本呢?啊,电脑的信息的版本呢?操作系统啊,CPU的类型啊,浏览器的版本呢?浏览器的渲染引擎啊,浏览器的语言呢?浏览器的插件等。就是我那会儿跟大家去解释的啊,假如说你跟诸葛钢铁去表白。对吧,他感觉,诶你这个头发颜色我不喜欢。对吧,好,我改对吧,我改,那我给他变成黑色呗,好他说你今天穿这个鞋子我不喜欢,好我再改,也就是说他的反扒手段可能不只有一个吧,对不行,他说诶,你今天的衣服颜色咱俩不搭,好我拒绝你,那这个时候我再改呗,所以说大家注意啊,这个反扒手段我们有很多很多,我们一点一点的得去去学习,去接触,去适应,那第一个我们的反扒手段,他说了啊,你这个原来是一个假数据啊,啊,并不是一个真实浏览器啊,所以说在这里边我们第一个就是UA的一个校验,那么稍后呢,我们也会在代码中去写,还有一个叫什么呢?叫代理IP的一个反盘,什么意思?
19:39
同学们哈,将来咱写代码的时候你要注意啊,本身程序员都不容易,那假如说你去爬取这个网站,你在一秒钟你爬取了200次,可能吗?这是人类行为有可能发生的吗?你在一秒钟你点鼠标200次疯了,可能吗?是不是不可能啊,那这个时候他会干啥呢?他判断你如果你异于人类的一些基本操作,基本行为了,那么我就给你干啥呀,给你封IP。
20:13
啊,给你封IP,你这个IP你再也访问不了我了,那我记得之前我在我们班的一些同学,我们班当时有60多人。啊,来访问一些啥呢,访问一个网站,那我们白天上课的时候还好好好的呢,晚上呢,同学说老师我要爬一下吧,对吧,发现完了IP封了这个IP,把我们整个公司的IP那个段封了一个半月。当然这种有没有解决呢?能不能解决,必须能解决呀。对吧?有句话说得好,不怕贼偷,就怕贼惦记,对吧?但假如说这个女生拒绝你,说你今天鞋不好看,那我就不追求你了吗?对吧,我换双鞋不就完了,所以在这里边啊,也会有IP的一个限制,而我们要咋做呀,我们换个IP不就完了吗?在这里边儿我稍后给大家解释啊,OK,还有一些就是验证码。
21:08
那大家可能现在你可以看到啊,很多个平台都会有一个验证码的校验啊,都会有一个验证码校验,为啥有验证码校验呢?因为他就是为了防止我们爬虫。因为我爬虫的时候如果有验证码,那其实我们在登录的时候就有很大的难度了啊,有很大难度了,当然我还是那句话,我们能解决能解决,诶这也是一种反扒手段,还有一些叫动态加载网页,那么它是什么意思呢?它返回了一些其他的GS数据,而这些数据呢,并非真实的数据。啊,那这样的话就给你一些假数据,给你一些干扰的东西,你很难的,你很有难度的去获取它真实数据,那这个时候我们也有办法去做,还有一个就是啥呢,数据加密。哎,数据加密,他将这个数据啊进行了加密,返回给你了,然后这样的话你是不是破解不了啊,而这个时呢,我们也可以去分析它,包括呀,有一些网站做一些字体加密呀,等等等等,这些东西呢,我们都会经历到,我们也都会干啥能给他解决的,所以说大家呀,要掌握一些基本的反扒手段,那这样的话我们就可以在爬虫中立于不败之地,OK同学们啊,上边呢给大家介绍了一下爬虫的一些相关概念,大家了解即可啊,掌握到不需要啊,了解即可,然后下边呢,我们就写代码了,一点点来爬取其他网站了,OK同学们,那接下来我把视频暂停一下。
我来说两句