粉丝2988获赞2.1万

如何获取豆瓣热门电影的数据?哈喽大家好,我是乐乐不分的程序员小飞,欢迎来到我的拍层爬虫系列,咱们开始之前,你需要准备好浏览器和拍层的环境爬虫最重要的是先分析代码只是最后一步。浏览器输入豆瓣电影的地址,按下 f 十二,进入调试模式, 然后点击一下网络,再刷新一下页面,然后我们在下方能看到一些网页请求数据资源的记录,包括一些代码资源,数据资源,还有图片资源。点击废弃 x hr 来筛选页面的数据请求。我们要从这里找到最近热门电影的请求,通过比对请求的返回和页面的内容就能找到了。 a few moments later, 我们找到了热门电影的请求接口,现在对他进行分析。我先去看一下他的请求的 url, 找到他请求的一些参数,最重要 要的是分析返回的 jason, 我们可以看出他 jason 里面的一些开头,一些头图,然后整个 jason 是一个有个 subjects 数组,它里面大概有五十个内容。我们把请求的 url 和请求的角色安全者复制好,待会我们要在代码里面使用。 现在进入我们的编码阶段,将请求网址和 u z n 等都复制到我们的代码里面,并且通过 requests 点 get 方法去发送请求, 将返回的结果转化为 jason, 并且去循环获取 subjects 当中的元素,打印电影元素的标题,评分和图片,我们月薪看下效果,赶紧去试试吧!

这节课我们就通过一个爬虫的项目来了解一下爬虫的三个步骤,什么是爬虫呢?爬虫就是一个能自动从互联网上抓取你想要数据的一个程序。 爬虫主要可以分为三个步骤,我们简称为爬解唇。第一步是数据的爬曲,简单的来说是模拟 以浏览器向服务区发送请求,得到夫妻反馈回来的数据。第二步是将第一步得到的数据进行解析,提取出你真正想要的数据。第三步是将第二步得到的数据存储下来,可以存到文件,可以存到数据库。 下面呢我们通过一个简单的任务来了解一下爬虫的基本过程,这个任务呢非常简单,爬取豆瓣排行榜的电影名称, 只需要将这一页的电影的名称的数据扒取下来就可以了,下面呢我们就开始写这个程序。那么第一步我们是爬取数据,首先呢我们来分析一下这个网站,打开开发者工具,我们可以按 f 十二, 然后呢我们可以刷新一下,那我们在这里可以找到一个那边是文档的,我们看一下他反馈回来的数据, 从服务器反馈回来的数据,我们可以看一下,这个就是我们发送给服务器的请求,然后下面还有我们的 cooke, 还有我们关于浏览器终端的一些信息,这个我们等一下要用到。第一步是进行数据的爬取,主要分为两个步骤,一个是 向服务器发送请求,第二步将服务器得到的响应数据存储下来。应该怎么做呢?我们来看一下我们要请求的地址,是这个 可以将它复制一下,下面我们需要使用到一个请求库,在这里呢我们使用铝筷子这个库, 这个请求库使用还是比较简单的,但是这个库需要我们安装一下,我在这里已经安装了,安装的方法非常简单,我们只需要在这里呢输入 p ip 去安装我们这个库就可以了。安装好这个库呢我们就可以使用, 现在我们测试一下,这个时候我们会发现 得到是一个四幺八的代码,出现这个四幺八其实是客户端的问题,这里的问题是被服务器认定为不是一个正常的浏览器行为,所以没有返回二零零,在这里我们可以在请求头里面加入一个参数, 可以将这个复试一下。 好,我们现在执行一下。现在我们看到返回来的是两百,说明返回来的数据已经成功,那我们可以打印一下原代码, 这时我们发现返回来的数据就是正确的,跟我们这里呢的数据是一致的,现在我们将这个数据存储一下。 第二步呢是进行数据的解析,就是将我们第一步得到的数据进行处理,分析,提取想要的内容。数据解析的方法有很多种,通用的方法是用正则表达时, 还有一些第三方库,比如说俄罗克斯迈奥、 beautiful、 toparetrouprat 等等。今天我们就使用最基础的正确表达史,我们一起来看一下。 在这里呢我们首先需要分析一下这个元代码,我们需要的数据是每一个电影的名称,比如第一个今天营救,第二个是绅士们,第三个是悲惨世界, 那在这里我们可以搜索到今天营救这里有个胎头,那我们可以去使用正值表达师呢,去获取胎头里面的内容,使用正值表达师呢?在拍摄里面我们需要导入一个阿姨库, 阿姨裤是一个拍摄内置的正着表达式解析裤,那么在这里呢,我已经将这个正着表达式写出来了,如果之前你没有了解过正着表达式的话,可能会有一点看不懂,现在呢,我们来分析一下,这个正着表达是 这句,最终会匹配到我们这边的元素为 a 卡拉斯为 nbg, 最终可以得到他的里面的这些内容。然后我们使用阿优库进行变异,下一步我们就是进行解析数据,使用这个函数, 我们进去打印看一下, 这时候大家发现我们已经将电影排行榜的名字已经提取出来了,然后最终是一个列表。 第三步我们是进行数据存储,我们需要将第二步得到的数据存储下来,我们可以把它存储到文一个文件当中,也可以把它存储到一个数据库当中,文件的话可以存储为纯文本的 tst 文件, csvpdf 等等数据库,我们可以把它存储到买税口,芒果 bb, reds 等等。 今天我们就将它存储到一个纯文本 tst 文件当中。我们来看一下,我们这里使用上下文管理器之前,我们得到这个数据是一个艾特慕斯,一个列表,我们可以进行便利, 将每一次得到的这个名字呢存储到这个文件当中,现在我们执行看一下啊,这时候你发现我们这边已经得到了一个豆瓣点 tstyon, 点开看一下,这样就得到我们电影排行榜的电影名称,非常的简单。最后呢,我们来回顾一下 刚才的例子,是一个非常简单的,在实际当中呢,我们可能会遇到非常复杂的问题,比如说很多网站现在都设置了反爬虫的技术,比如说 需要模拟登录,然后会封锁 ip, 会封你的账号。如果你真要精通爬虫的话,必须要学习很多有关于反爬虫的一些技巧, 那么数据解析我们刚才使用的是最简单的正确表达时,当然呢,之后我们遇到一些复杂的数据解析的话,我们还可以使用到一些第三方库。这节课的内容就到这里,关注我,学习更多拍摄技术,感谢大家点赞转发,我们下节再见。