Python 分析电影《南方车站的聚会》
《南方车站的聚会》由刁亦男执导,主要演员包括:胡歌、桂纶镁、廖凡、万茜等,该片于 2019 年 5 月 18 在戛纳电影节首映,2019 年 12 月 6 日在中国正式上映。故事灵感来自真实新闻事件,主要讲述盗窃团伙头目周泽农(胡歌饰),在重金悬赏下走上逃亡之路,艰难寻求自我救赎的故事。
影片上映了一周多,票房接近 2 亿,作为一部文艺片,这个表现应该算是属于中上水平了。下面打开
从图中我们可以看到目前有 13 万多人评分,达到了 7.5 分,打 4 星和 3 星的居多,并非网上一些人所说的口碑两极分化
(如果两级分化,应该是打 5 星 和 1 星的居多吧?!)。
页面向下拉到影评位置,如下图所示:
我们可以看到有 5 万多条影评,目前豆瓣对查看影评数据的限制是:未登录最多可以查看 200 条数据,登录用户最多可以查看 500 条数据,我们要做的是通过 Python 爬取豆瓣 500 条影评数据,然后进行数据分析。
首先获取影片列表 URL,具体操作为:点击上图中 全部 52846 条
,进入影评列表首页,如下图所示:
但我们发现一个问题,该 URL 参数中并没有行号等信息(实现翻页需要),这个问题我们只需点击后页
按钮即可看到,结果如图所示:
现在我们可以从 URL 中看到这些信息了,因 start
参数为变量,我们将上面 URL 修改为:upload/201912211002248532.PNG#pic%20=550x" data-lightbox="example-set" style="margin: 0px; padding: 0px; outline: none; color: rgb(0, 0, 0);">
我们先在手机号/邮箱
和密码
输入框处随意输入(不要输入正确的用户名和密码),再按 F12
键打开开发者工具,最后点击登录豆瓣
按钮,结果如图所示:
我们点击上面图中所示 basic
项,点击后结果如图所示:
此时可以看到 Request URL
(登录所需 URL) 和 Form Data
项,这两项是我们登录时需要的,当然我们还需 User-Agent
,点击上面图中所示的 Request Headers
项即可看到,如图所示:
所需要的东西都找好了,接下来就是具体实现了,豆瓣登录和影评数据爬取的具体实现如下所示:
import requests import time import random from lxml import etree import csv # 新建 csv 文件 csvfile = open('南方车站的聚会.csv','w',encoding='utf-8',newline='') writer = csv.writer(csvfile) # 表头 writer.writerow(['时间','星级','评论内容']) def spider(): url = 'upload/201912211002253823.jpg')) wc = WordCloud( # 背景图分割颜色 background_color='white', # 背景图样 mask=cloud_mask, # 显示最大词数 max_words=600, # 显示中文 font_path='./fonts/simhei.ttf', # 字的尺寸限制 min_font_size=20, max_font_size=100, margin=5 ) global word_cloud x = wc.generate(word_cloud) # 生成词云图片 image = x.to_image() # 展示词云图片 image.show() # 保存词云图片 wc.to_file('wc.png')