前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用 Python 爬了猫眼3000+《指环王》影评,看看20年前的魔幻电影鼻祖在当下影迷眼中的样子

用 Python 爬了猫眼3000+《指环王》影评,看看20年前的魔幻电影鼻祖在当下影迷眼中的样子

作者头像
周萝卜
发布2021-07-14 15:56:53
2820
发布2021-07-14 15:56:53
举报
文章被收录于专栏:萝卜大杂烩萝卜大杂烩

指环王三部曲,可以说是魔幻电影的开山鼻祖,二十年前的特效下,森林、大山、魔王、高塔,城堡等等都栩栩如生的呈现在我们眼前。虽然这次重映,票房不高,也因为电影时长等原因被各种诟病,但是还是不影响魔戒迷们冲进电影院,来弥补二十年的遗憾!

本文获取了猫眼上三部曲的全部影评,一起来看看大陆影迷对于这系列“老”片的评价吧

数据获取

我们先来看看爬取数据的部分代码,由于猫眼采取了一定的反爬措施,一个比较重的措施就是对于请求中 header 的 UA 数值的校验,所以我们这里使用了 Python 第三方库中比较好用的生成随机 UA 的库 fake_useragent

代码语言:javascript
复制
from fake_useragent import UserAgent

ua = UserAgent()

接下来我们就可以根据评论的接口来获取数据了

代码语言:javascript
复制
def fire(num):
    page = 0
    for i in range(15, 135, 15):
        print("开始爬取第 %s 页" % page)
        headers["User-Agent"] = ua.random
        url1 = 'http://m.maoyan.com/review/v2/comments.json?movieId=1220&offset={}&limit=15&type=2'.format(
            i)  # rings 1
        url2 = 'http://m.maoyan.com/review/v2/comments.json?movieId=1221&offset={}&limit=15&type=2'.format(
            i)  # rings 2
        url3 = 'http://m.maoyan.com/review/v2/comments.json?movieId=428&offset={}&limit=15&type=2'.format(
            i)  # rings 3
        try:
            if num == 1:
                print(url1)
                res = requests.get(url1, headers=headers).json()
            elif num == 2:
                print(url2)
                res = requests.get(url2, headers=headers).json()
            else:
                print(url3)
                res = requests.get(url3, headers=headers).json()
        except Exception as e:
            print(e)
            time.sleep(120)
            # continue
        # if not to_json['paging']['hasMore']:
        if not res['paging']['hasMore']:
            print("爬取完成")
            # driver.close()
            break
        data = get_json(res)
        # data = get_json(to_json)
        save_to_csv(data, num)
        time.sleep(20)
        page += 1

这里还是进行了比较长的 sleep,毕竟如果请求发送的太快,我们的 IP 还是很容易被识别的

获取到数据之后,我们就来看看每一部电影的相关数据吧

护戒使者

对于第一部,在魔幻电影界来说绝对是横空出世的感觉,我们抓取到的数据如下

性别分布

先来看看评论者的性别分布吧,一般来说,这列电影,肯定男孩子比较多啦

可以看到,在填写了性别信息的数据当中,男生占比还是比较大的,不过还是有大部分人选择了不公开性别

用户级别分布

还是很正常啊,大部分都是 level-0 的用户,毕竟万万千千的普通人才是社会主体

评分分布

对于电影的喜爱程度,评分才是最为直接的选择

可以看到,有60%多的用户给出了10分,有接近80%的用户给出了9或10分,看了护戒使者还是很受观众喜爱的!

用户评论

再来看看用户的评论

这就是大型的夸夸现场,毕竟经典永远不会过期!

对于另外两部电影,我们直接来看下用户评论吧

双塔奇兵&王者归来评论

从用户的评论来看,指环王三部曲还是非常给力的,经典永流传!

不少影迷还表示,拖欠的电影票终于补上啦

好了,今天的分享就到这里,给个“在看”再走吧

上一篇文章的完整代码

链接: https://pan.baidu.com/s/1oqqHXlxX-D_wYMTq8aI4DQ 提取码: be89

用Python分析中国大学分布,终于知道为什么好大学难上了

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萝卜大杂烩 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据获取
  • 护戒使者
  • 性别分布
  • 用户级别分布
  • 评分分布
  • 用户评论
    • 双塔奇兵&王者归来评论
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档