00:00
OK同学们,那么接下来我们来学习一下爬虫里边涉及到的第一个库叫啥呢?叫做ul lib,这个库啊,需要跟各位同学说明一下啊,说明一下啥呢?它其实是不需要我们安装的啊,为啥要说这句话呢?因为我们后续要学习的爬虫的库是都需要我们安装的,而这个UR Li呢,是Python本身自带的啊,就可以了。OK同学们,那么这个库啊,接下来我们要讲的第一个内容是如何去使用它啊,如何用它来模拟浏览器去访问服务器的数据。那可能当我说这句话之后,有同学说一脸问号对吧?没太听懂,那我告诉各位同学啊,看我们现在呀,要打开一个Chrome浏览器,在这里边儿,这不是百度的首页吗?那咱们同学都知道哈,百度的首页是不是有很多HTML代码构成的呀,对吧?各位,所以说在这里边儿呢,我们可以鼠标右键,然后来查看一下它的页面源码,你看是不是很多很多对吧?而我们一会儿要做的是什么呢?我们要做的就是获取这个百度里边所有的数据啊,所有的页面源码。
01:18
OK,同学们,那么我们如何去使用UR lib来获取呢?那接下来我们来创建一个文件啊,创一个Python文件,然后写上啊上硅谷爬虫叫啥来着,UR Li,然后这个我们接下来要讲的哈,叫基本使用,其实这个基本使用呢,涉及到啥呀,涉及到六个方法啊,涉及到六个方法我们来看一下,诶第一个,那要做这件事儿呢,我们先说一下我们的诉求吧,对吧?哎,我们要使用URL lib来干啥呢?来获取百度首页的源码啊,获取百度首页的源码。
02:03
那有同学说,老师你获取这个干啥呀,你将来不就能干别的了吗?你获取源码之后,你是不是就可以在一堆的数据中获取你想要的那个别的数据啊,对不对啊,哎,所以说是这样的,OK,那这事应该咋整呢?同学们注意啊,我们暂时需要几步去做,第一步啊,叫定义一个URL,这个URL就是啥呀,就是你在这儿啊,诶,它的这个域名,这个地址。你要不你访问啥呀,对不对,你是百度啊,是淘宝京东,是当当,是亚马逊呢,对吧,各位,所以说在这里边儿啊,第一个我们要定义一个ul,这个ul指的是啥呀?指的就是你要访问的那个地址啊,你要访问的地址,那么我们定一个URL啊,稍后呢,我也会跟各位同学扩展一个小内容,就是这个URL它的一个组成部分啊,组成部分那这里边写上啊,写上啥呢?说HTTP冒号斜线3W点百度点com,暂时大家先这么写,那有同学可能会问了老师啊,那我有没有可能直接写个3W点百度点com啊,那稍后我们再议啊,稍后再议你先按照咱们这个来记好,这是第一步啊,定义一个ul。
03:28
那么第二步要干啥呢?第二步,第二步我们就要模拟浏览器,向服务器啊,服务器发送请求,啥意思呢?就是我们用代码啊模拟一个浏览器,然后呢管服务器要数据,同学们这个能听懂不啊,就是你现在不也是吗?前提要注意啊,同学们,你写这个你是不是必须要联网,你不联网它是不是不能给你数据啊,这很正常嘛,我记得之前讲课的时候。
04:02
有个同学问我,他说老师啊,我为什么跟你写的代码一样,然后我就不好使呢,啊说实话,我说你把代码发给我,我一看,诶咱俩也一样啊,那但是呢,他报错会报啥呢?拒绝链接,为啥拒绝链接,我说你联网呢,他说没连,我说那你访问个啥呀。你没联网,你还管人要数据疯了,不可能的事儿,对不对,所以说在这里边儿注意啊,同学们一定要在联网的前提下,再去写爬虫软件啊,再写爬虫软件。那这怎么模拟啊,咱们说了你不学的叫URL lib吗?我们就用它,那我记得我之前也跟大家说过,说过啥呢?如果我要想用这个数据,你得干啥呀?你是不是得告诉我一声,举例说明,我说我家你们家有车对吧?如果说我在不跟你打招呼的前提下,我直接把车开走了,行吗?啊,这个之前讲课的时候有同学说行,我说那你告诉我你家在哪儿,然后直接不说话了,对吧,大家如果说我想用你的东西,那么咋的是不是必须得告诉你一下呀。
05:10
没毛病吧各位,诶,所以说在这里边注意啊,我得先导入一下我们即将要用的东西,叫UR lib.request哎,我要用的URL lib库下边的第一个东西叫做request啊request那我们来试试呗,怎么模拟浏览器管它要数据啊,叫your.request点同学们这里边啊,接下来这句话叫做啥呀?叫做URL open。那URL open是啥意思啊,就是你模拟浏览器要打开那个URL地址,你浏览器不也是一样吗?假如说我要打开淘宝,你在这就输入啥淘宝,那你看在这儿是不是就有淘宝相关检索了,你再再输入淘宝是不是就他呀。诶,所以说在这里边儿注意啊,同学们,我们要模拟浏览器向服务器发送请求。
06:07
啊叫啥呢?URL open呀,打开一个打开谁呀,是不是刚才你定义的它呀,啊对吧,各位好,那么注意啊,同学们,当你模拟浏览器向服务器发送这个请求的时候。那服务器是不是得给你一个啥呀,给你一个反馈呀,对吧,各位,所以说在这里边儿呢,我们用一个变量去接收它这个变量,请问同学们你起个名字叫啥呀。啊,这个变量名叫啥,随便吧,当然在这里边我们尽量做到建明之义,听懂了吗?所以这里边响应我们就叫做response啊response那这个时候有同学可能就有点懵,有有英文不好的同学说,啊,老师,我的单词记不下来呀,我告诉各位啊,记住了所有的计算机编程语言。
07:00
他要你记的单词不超过200个,你这个里边记记背背常用的那些,你常用的一共超过200个啊,把它记下来啊好,这response就叫响应的意思啊,我给你标识一下response就是响应,OK,那么咱们同学说了,老师那这里边儿就有数据吗?对吧?这个response有数据吗?我告诉是的,但是我要跟大家说明一下,这个response里边的数据,它不仅仅有页面源码。啊,不仅仅有页码,页面页码还有很多,还有状态码啊,对吧,还有一些请求头啊,还有UR地址等等等等很多很多,但是我们想要什么,同学们,我们是不是想要它的源码啊,对吧?各位,所以说在这里边咋要呢?来获取什么叫做响应中的页面的源码啊,响应中的页面的源码我不要别的。
08:02
对吧,弱水三千,我只许一瓢碗,明白不?各位哎,我只想要圆满,圆满,那咋要它呢?就是response.readid有同学说老师,我这个read的很熟啊,对吧,我readid很熟,确实很熟,但是呢,我跟大家讲哈,说北京有有叫张三的。对吧,辽宁我老家就不能有叫张三的吗?能不能有啊,能有,但是他是一个吗?不是一个没毛病吧,哎,注意啊,同学们,所以说我从这个响应中来干啥?来获取到它的这个数据页面源码,OK吧,那么这个月面源码,也就是说内容我要用一个单词去接收它,还是那句话,建明之义,顾名思义明白吧,那这个叫内容,我就给它起名叫做content,在这写上啊,Content是内容的意思。念什么意思,那接下来最后一步要干啥呀,我看看呢,你整半天最后有没有这个数据啊,我们得知道啊,所以在这里边写第四步就啥打印啊打印数据。
09:13
OK,我们来print一下content OK,同学们,那么接下来我们来运行一下啊,大家看一下,要仔细的看啊,这里边儿有一点点儿小坑要仔细的去看,那么我们来运行一下,走你,哎,我发现有了。有完之后啊,我我走走走啊,永老师你翻太快了,你不用去看这些,我再找找有没有中文。我记得这页面中应该有个百度一下吧,但我怎么啥也没看到呢?对不对呀,你还看到一些这个玩意儿,这又是啥呀,我都看不懂,但是同学们你注意啊,为啥我要让你好好去观察他呢?那同学们你要知道哈,这里边儿前面有个B,这个B是啥意思,我告诉各位啊,是源于锐的方法。
10:08
那么这个瑞的方法它是啥意思呢?它是啥意思呢?它是返回的是叫做字节形式的二进制数据啊字节字节形式的二进制数据你看不懂,带B的就是字节形式,明白没?大家就是计算机底层的一个东西,你看不明白,有同学说老师那废了他他废了,为什么呀,因为我看不明白,你那我咋获取里边的详细数据啊。大家别着急啊,大家别着急,我们为什么呢?我们可以使用一些其他的小手段来操作。那么同学们看啊,说真正的百度的首页哈,来看百度啊,百度这不就是百度首页吗?百度首页里边它没有这个B呀,它不就是do tap atml吗?它没有这个B,那那就不一样了呗,那现在我们要做什么?同学们,那你看这几步啊,接下来我们要做的就是将这个二进制的一个数据给它变成我们能看懂的啥字符串,哎,这就是我们想要的啊,这就是我们想要的OK吧官哎,所以说接下来这一步啊,注意了,我们要将啊,我们要将二进制的数据转换为什么字符串啊字符串OK吧,大家,那么我们把这个动作啊,就是二进制,我给大家细化一下到谁呢?到字符串这个动作。
11:47
不,我们叫做睫码啊,睫码就你因为你看不懂嘛,就假如说原来有一些什么摩斯密码对吧,摩斯密码你给它变成我们能看懂的这个东西叫叫解码,二进制变字符串,我们叫解码,那么这个方法叫啥呢?同学们注意啊,这个方法叫做抵扣啊,抵扣在里边来写一些编码的格式。
12:14
啊,写上啊,写上编码形式,编码的格式都可以啊,来编码的形格式,那有同学可能就问了老师啊,啥叫编码的格式啊,同学们你看啊,在这里边我们来找一下HTML里边的谁呢?叫做char set叉set里边的值就是它的编码格式叫做啥呀?Utf杠八啊,所有的页面都是在hi标签下边的me下边的content里边的啊这种层级关系,以后咱们慢慢来感受它,来体会它啊,所以说在这里边我们要做的就是啥。
13:00
我们要做的就是将你现在的这个二进制的这个数据要decode,然后变成啥对应页面的那个编码格式啊,对应页面的编码格式就是我们所说的UTF杠吧,明白吧大家,诶这步操作非常非常的巧妙,那么现在他长成这个样子。对吧,我再运行它变了。变化的东西,第一个诶,它没有这个B了,它变成字符串了,其二你可以在里边看到啥呀,可以看到汉字了,明白吗?各位OK啊,那现在我再来运行一下走你诶你发现咋的了,它确实不一样了,我们先看第一个啊,它前面有没有这个B呀,诶没了。啊,有的有同学有B,你给我找个来啊,我记得之前讲课的时候,有同学说,老师那不有个B吗?在哪儿呢。你整出灵异事件来了,哪有那个啊,别骗我啊,好同学们,那我看这里边有没有百度一下那几个字来,因为这个里边注意啊,你看这小条很窄,你看到了吧,他往这滑百度一下,就在这侧边呢,我CTRLF来进行一次搜索。
14:15
啊,把你的鼠标放到这个页面中下边小框中,然后找个位置CTRLF打一下百度一下,你看到了吧,各位,这里边是不是就有嗨汉字了,诶百度搜索随便看点啥都行啊百度搜索对不对家诶这个我们就来找到了,所以说同学们这样的话,我们就可以把二进制的数据变成什么,变成字符串了,明白吗?各位诶以上呢,就是给大家讲了一个啥呀,URL lab的一个基本使用我们模拟的浏览器把啥把百度页面的源码全部的都获取到了啊,全部都获获取到了,好同学们,那么我接下来把视频暂停一下。
我来说两句