豆瓣超高评分《你好,火焰蓝》热评爬取生成精美词云!!!

结果展示

目录详情

网页分析

发送请求

热评爬取分析

完整代码

精美词云

网页分析

我们打开豆瓣短评,找到我们所要获取电影的短评列表。

网页F12打开浏览器开发者模式,找到如下

发送请求的真实链接:

数据是存储在一个json的数据集合里面的。

我们使用浏览器插件打开

我们要获取的图片信息都是在一个叫做html的列表里面。

老规矩,先获取json数据集。

发送请求

url =f'https://movie.douban.com/subject/35231076/comments?percent_type=&start={(page -1) *20}&limit=20&status=P&sort=new_score&comments_only=1'

headers = {

'Cookie':'ll="118375"; bid=-0vQx1zNf9g; __utmc=30149280; __utmz=30149280.1626393826.1.1.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __utmc=223695111; __utmz=223695111.1626393826.1.1.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; _vwo_uuid_v2=D3D09D476AD97DE25492B13E46DCC0FF0|b7ddbeee10c323627b2a1ed1fce3b44b; __gads=ID=a11b92658502a109-22900c2a5bca007e:T=1626393873:RT=1626393873:S=ALNI_MZbuKNW-xrOqCRLWhABJ0mmTU92Mg; __yadk_uid=UpfAkPPZNmGCYlDjV2D7pGcAJqNOLEcZ; _pk_ref.100001.4cf6=%5B%22%22%2C%22%22%2C1626404180%2C%22https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DtJ1wg7vbDM0tTcX_Blaz4Lokg24OTHJBYQXr-FPRas3CxkEMFvoM9H2cFY3nMJuK%26wd%3D%26eqid%3Ddd97e590000679a10000000560f0ccdd%22%5D; _pk_ses.100001.4cf6=*; ap_v=0,6.0; __utma=30149280.1997475757.1626393826.1626393826.1626404180.2; __utmb=30149280.0.10.1626404180; __utma=223695111.51408786.1626393826.1626393826.1626404180.2; __utmb=223695111.0.10.1626404180; _pk_id.100001.4cf6=8e1ed7625dcefcf1.1626393826.2.1626404198.1626396404.',

f'Referer':f'https://movie.douban.com/subject/35231076/comments?start={(page-1)*20}&limit=20&status=P&sort=new_score',

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4503.5 Safari/537.36'

}

resp = requests.get(url, headers=headers)

ifresp.status_code == requests.codes.ok:

text = resp.json()['html']

print(text)

成功获取到浏览器响应之后我们接下来获取每一部电影的评分作者、评分时间、评分和评论

# 获取当前页面所有的div列表

div_list = html_data.xpath("//div[@class='comment-item ']")

fordivindiv_list:

# 姓名

cmt_name = div.xpath("./div[@class='comment']/h3/span[@class='comment-info']/a/text()")

cmt_names =''.join(cmt_name).strip()

# 评论时间

cmt_time = div.xpath("./div[@class='comment']/h3/span[@class='comment-info']/span[@class='comment-time ']/text()")

cmt_times =''.join(cmt_time).strip()

# 星评

star = div.xpath("./div[@class='comment']/h3/span[@class='comment-info']/span[2]/@title")

stars =''.join(star).strip()

# 评论内容

comment = div.xpath("./div[@class='comment']/p[@class=' comment-content']/span[@class='short']/text()")

comments =''.join(comment).strip()

count +=1

time.sleep(random.random()*3)

print(cmt_names, cmt_times, stars, comments)

数据提取如下:

李不秃.2021-07-08 较差 我的天,这糟糕的演技和剧情,披着职业皮谈恋爱,一切为谈恋爱服务,工业糖精胡撒一气,这才第一集就看不下去了,才第一集哎,就忙着铺感情线了土豆不见了2021-07-08 推荐 救援场面看的很揪心,日常生活拍的很有趣,于是看的很上头,节奏再紧凑些就更加完美啦冩潢の夢支棱!2021-07-08力荐 25min,至少国内多一部消防战士为主角的剧还挺好的,我之前印象中没看到过几部,电影倒是有的,成品质量还是有很多很多可以改进的地方啦,比如坐在急救车里,却一点没有生死时速的移动感,比如隧道现场,一开始还对烟雾做了防备,结果深入现场后大家都跟没有烟雾一样,居然还在现场附近接生……这……不过我真的没有专业知识,大概会有专业的知识科普号来科普吧丸皮2021-07-08 还行 编剧不行……剧情和对话都太悬浮了……强行安排孕妇十秒钟生娃,更是没必要………啊!多好的题材啊!而且是原声!痛心…………祈祷俊子以后多接好剧!一个康波的游戏2021-07-08 力荐 剧本还行,没翻车,能看下去琼葩2021-07-08 推荐 咦?喜欢的男女主角搭戏了,突然拥有了海景房???7.8虽然对男女主都有好感,但是自从知道男主女主名字之后就没期待过,竟然意外的还可以!剧情紧凑,救援场景真实,每对cp都挺甜,没有一个讨厌的角色,可以可以,就是男主再练练台词就好了。Joyce01292021-07-09 力荐 本来以为是职业剧+甜宠剧,4集看完没想到是个喜剧,消防员日常打打闹闹太有趣了,有血有肉的日常场景更能全面展现消防员这个职业,救援场景也能看出来尽量还原了。目前来看男女主人设也都是直球型没有那么多误会和蒙在鼓里没办法相认的情节,适合ibg的看。剧情节奏很快,每集一个消防小知识也挺有趣的,剧荒打发时间看一看还是不错的。彩虹海2021-07-08 力荐 我宣布霍言和晏蓝就是坠坠坠坠吊的!!!好甜好甜好甜想嗑真人了……TOB2021-07-08 很差 本来不想发表评价的,但天天都挂在热搜上,没忍住点进去看了第一集,只能说本质偶像剧,这剧情真的不能说是对消防员的致敬。。。男女主演技也很堪忧。。。男主台词也太差了。。国内什么时候能拍一部真正的职业剧,我们普通观众真是吃了太多苦了【叹气】孔鯉2021-07-08 很差 把这片子拍成这样是对广大消防指战员的侮辱Sugar2021-07-09 力荐 一开始没报什么期望的,但后来看了几集之后觉得还挺甜的,节奏蛮快的,然后剧情也有我的苏点和爽点,蛮不错的。豆友2021-07-08 还行 其实也还好,毕竟消防这些也比较难拍,龚俊演技还是有的,蛮喜欢那种自然的演技。(但龚俊颜值还没有特别get到),女主不认识,也还行。但剧情看的其实还是稍微有点尴尬。出来喝奶茶-2021-07-09 力荐 刚把更新的4集看完,说说这剧吧,消医联动的题材吸引了我,再加上最近总是听见的龚俊这个名字,4集的剧情很紧凑不拖沓,有紧张,有搞笑,比预想中要好很多。不得不说龚俊的眼神戏真的很到位,和张慧雯的互动也很有爱,第一集含泪敬礼那里真的有被感动到,期待之后剧情的发展。草莓味的Miss郑2021-07-08 很差 窒息了………这剧情,军令如山倒啊!为了突出俩人善良医术好,就违抗上级命令???弹幕里还有夸男主“就是要宠她?”为了颜值在疯狂忍耐………刚看完良医感觉不配比较,侮辱了良医。期待真正的好职业剧、医疗剧、军旅剧吧

多页爬取

多页数据分析的时候最简单的方法就是观察并分析多页连接的区别,如下:

https://movie.douban.com/subject/35231076/comments?percent_type=&start=20&limit=20&status=P&sort=new_score&comments_only=1

https://movie.douban.com/subject/35231076/comments?percent_type=&start=40&limit=20&status=P&sort=new_score&comments_only=1

https://movie.douban.com/subject/35231076/comments?percent_type=&start=60&limit=20&status=P&sort=new_score&comments_only=1

观察此链接除了start参数之外都没有变化,其实这个start参数就是控制翻页的。

它的变化规律就是(page-1)*20,据此我们可以构造出它的请求链接

url = f'https://movie.douban.com/subject/35231076/comments?percent_type=&start={(page -1) *20}&limit=20&status=P&sort=new_score&comments_only=1'

接下来我们就可以获取多页数据啦

# 多页抓取

forpageinrange(1,10+1):

print(f'-----------------正在抓取第{page}页影评-----------------')

url =f'https://movie.douban.com/subject/35231076/comments?percent_type=&start={(page -1) *20}&limit=20&status=P&sort=new_score&comments_only=1'

.......

数据存储

我们将获取到的数据存储到本地的excel之中,之前我有专门拉出来详细讲过,有兴趣的小伙伴可以参考

我是如何把python爬虫获取到的数据写入Excel的?

我们这里使用的是第一种,使用openpyxl来保存数据

# 创建workbook

ws = op.Workbook()

# 创建worksheet

wb = ws.create_sheet(index=0)

# 创建表头

wb.cell(row=1, column=1, value='名称')

wb.cell(row=1, column=2, value='评价')

wb.cell(row=1, column=3, value='时间')

wb.cell(row=1, column=4, value='评论')

# 保存数据

wb.cell(row=count, column=1, value=cmt_names)

wb.cell(row=count, column=2, value=cmt_times)

wb.cell(row=count, column=3, value=stars)

wb.cell(row=count, column=4, value=comments)

# 保存文件

ws.save('你好,火焰蓝短评.xlsx')

词云展示

为了更加直观的展示电影所述,我一般都是使用词云来做直观的展示。

我们使用的是stylecloud。

使用pandas来读取我们刚才保存的数据。

使用jieba来切割分词

使用stopwords来设置停用词

rcv_data = pd.read_excel('你好,火焰蓝短评.xlsx')

c_title = rcv_data['评论'].tolist()

#观影评论词云图

wordlist = jieba.cut(''.join(c_title))

result =' '.join(wordlist)

pic ='img1.jpg'

gen_stylecloud(text=result,

icon_name="fab fa-apple",

font_path='msyh.ttc',

background_color="white",

output_name=pic,

custom_stopwords= ['了','的','是','也']

)

print('绘图成功!')

最终效果展示如下:

我就不在此做其他项的可视化分析了,反正数据已经给你们了对吧

有问题的小伙伴们欢迎下方留言讨论哈~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352

推荐阅读更多精彩内容