《南方车站的聚会》由刁亦男执导,主要演员包括:胡歌、桂纶镁、廖凡、万茜等,该片于 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')