查看原文
其他

电影荒吗?教你爬取豆瓣电影top250

不开窍的小乔 GOGO数据 2022-08-01

点击上方 蓝字关注我们


爬虫目标

爬取豆瓣电影top250,获取的信息有电影名称、简介、导演、评分、观看人数和电影语录等信息。

项目准备

软件:Pycharm

第三方库:requests,parsel,pandas,lxml,os

网站地址:https://movie.douban.com/top250?start=


网站分析

网站首页如下:


1.首先判断其是动态加载还是静态加载。


打开浏览器设置,关闭javascript。刷新页面没有任何影响即可理解为静态加载

2.F12打开浏览器开发者模式,找到电影信息源码所在位置。
如图一部电影的完整信息都存在于一个li标签之内。所以我们想要获取电影详情首先就要获取到li标签。可以发现该页面25部电影信息所在的li标签都在一个class='grid_view'的ol标签之内。所以我们可以通过此属性获取到25部电影所在的li。


反爬分析

为了防止在爬虫过程中反爬而抓取不到数据,我们一般只需加上user-agent和refer即可


链接分析

第一页:https://movie.douban.com/top250?start=第二页:https://movie.douban.com/top250?start=25&filter=第三页:https://movie.douban.com/top250?start=50&filter=

可以发现,每页的电影信息会随着网站链接末尾数字变化而变化。


代码实现

1.获取网页源码信息


2.源码信息成功获取到之后接下来就要通过我们上面分析来定位li标签的位置

打印结果为25代表获取到了25个li标签,也就是说在当前页面有25部电影。这和页面展示的也是一模一样的

3.获取电影详情

25部电影信息打印如下:

可以看到已经成功获取到我们所要信息了。


数据保存

数据保存我们需要用到pandas,首先我们导入

import pandas as pd

现在第一页的数据已经成功保存到本地csv文件中了,接下来就是10页的问题了,很简单。只需加上一个循环即可。在此就不多赘述了。有兴趣的小伙伴可参考源码一探究竟。


效果展示


csv文件如下:


图片文件如下:


想要学习或者对源码有兴趣的小伙伴扫码回复'电影'即可



扫描二维码

获取更多精彩

python学前班


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存