人生苦短,我用Python
电影评论,简称影评
是对一部电影的导演、演员、镜头、摄影、剧情、线索、环境、色彩、光线、视听语言、道具作用、转场、剪辑等进行分析和评论。
电影评论的目的在于分析、鉴定和评价蕴含在银幕中的审美价值、认识价值、社会意义、镜头语言等方面,
达到拍摄影片的目的,解释影片中所表达的主题,
既能通过分析影片的成败得失,帮助导演开阔视野,
提高创作水平,以促进电影艺术的繁荣和发展;
同时能通过分析和评价,影响观众对影片的理解和鉴赏,
提高观众的欣赏水平,从而间接促进电影艺术的发展。
点击文末名片获取源码
所需模块
import jieba
import pandas as pd
import wordcloud
读取csv表格里面数据内容
df = pd.read_csv('影评.csv')
获取评论内容
content_list = df['评论'].to_list()
把列表转成字符串
content = ''.join(content_list)
进行分词处理
string = ' '.join(jieba.lcut(content))
词云图配置
wc = wordcloud.WordCloud(
width=1000,
height=700,
background_color='white',
font_path='msyh.ttc',
stopwords={'词'},
scale=15
)
传入文字内容
wc.generate(string)
输出词云图
wc.to_file('词云图.png')
print(string)
导入模块 --> 第三方模块, 需要安装 pip install requests
import requests
import parsel
import csv
创建文件对象
f = open('影评.csv', mode='a', encoding='utf-8-sig', newline='')
'昵称',
'评分',
'日期',
'归属地',
'评论',
'有用',
])
写入表头
csv_writer.writeheader()
发送请求, 模拟浏览器对于url地址发送请求
-
安装模块:
-
模拟浏览器: --> headers 请求头 <开发者工具进行复制>
把python代码伪装成浏览器去发送请求
目的: 为了防止被反爬
反爬: 你得不到数据, 或者返回的数据不是你想要的
采集的速度过快/频繁, 可能会IP异常 解决方法:
- 登陆账号加上cookie
- 用IP代理, 切换IP
多页的数据采集
分析请求链接的变化规律
#python学习交流裙:903971231#
for page in range(0, 201, 20):
请求链接 字符串格式化方法 -->
url = ''
伪装模拟
headers = {
User-Agent 用户代理, 表示浏览器基本身份信息
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
发送请求
response = requests.get(url=url, headers=headers)
获取数据, 获取服务器返回响应数据
开发者工具: response
response.text --> 获取响应文本数据
response --> 响应对象
text --> 文本
解析数据, 提取我们想要的数据内容
selector = parsel.Selector(response.text)
divs = selector.css('div.comment-item')
for div in divs:
.comment-info a::text -->
get() -->
attr() -->
name = div.css('.comment-info a::text').get() # 昵称
rating = div.css('.rating::attr(title)').get() # 评分
date = div.css('.comment-time ::attr(title)').get() # 日期
area = div.css('.comment-location::text').get() # 归属地
short = div.css('.short::text').get().replace('\n', '') # 评论
count = div.css('.vote-count::text').get() # 有用
把数据放到字典里面
dit = {
'昵称': name,
'评分': rating,
'日期': date,
'归属地': area,
'评论': short,
'有用': count,
}
写入数据
csv_writer.writerow(dit)
print(name, rating, date, area, short, count)
最后,为大家献上一些电影台词金句:💥
1、“希望是美好的,也许是人间至善,而美好的事物永不消逝。”——《肖申克的救赎》
2、“人生和电影不一样,人生辛苦多了。”——《天堂电影院》
3、“生而为人,对不起。”——《被嫌弃的松子的一生》
4、“不知道从什么时候开始,在每一个东西上面都有个日子,秋刀鱼会过期,肉酱也会过期,连保鲜纸都会过期。我开始怀疑,在这个世界上,还有什么东西是不会过期的?”——《重庆森林》
5、“以前我认为那句话很重要,因为我觉得有些话说出来就是一生一世,现在想一想,说不说也没有什么分别,有些事会变的。 我一直以为是我自己赢了,直到有一天看着镜子,才知道自己输了,在我最好的时候,我最喜欢的人都不在我身边。如果能重新开始那该多好。”——《东邪西毒》
6、“凡事都有可能,永远别说永远。”《放牛班的春天》
7、如果做人没有梦想,那跟咸鱼有什么分别啊?—《少林足球》
8、死亡不是生命的终点,遗忘才是。—《寻梦环游记》
9、Im Dawson, Rose Dawson.(以你之姓,冠我之名)—《泰坦尼克号》
10、我很努力的想摆脱张志明,结果我发现,我变成另一个张志明。—《志明和春娇》