在PyCharm中运行《开心麻花影视作品分析》即可进入如图1所示的系统主界面。在该界面中,选择要分析的电影名称,然后单击“分析”按钮即可。
具体的操作步骤如下:
(1)分析电影功能。保存当前计算机处于联网状态,然后在“选择电影”下拉列表中,选择要分析的电影名称(如夏洛特烦恼),再单击“分析”按钮,将进行在线爬取相关的评价并分析(此处需要耐心等待一段时间),分析完成后,将显示如图2所示的界面。
(2)查看评论数及平均分。在图2中,单击“主要城市评论数及平均分”右侧的“查看”按钮,将打开如图3所示的图表显示分析结果。
(3)查看评论词云图。在图2中,单击“词云”右侧的“查看”按钮,将打开如图4所示的词云图。
(4)查看评论分布热力图。在图2中,单击“热力图”右侧的“查看”按钮,将打开如图4所示的热力图。
# 显示热力图,主要城市评论数_平均分页面
class MainWindows(QMainWindow):
def __init__(self):
super(QMainWindow,self).__init__()
self.setGeometry(200, 200, 1250, 650)
self.browser = QWebEngineView()
def kk(self,title,hurl):
self.setWindowTitle(title)
url = d+'/'+hurl
self.browser.load(QUrl(url))
self.setCentralWidget(self.browser)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "开心麻花影视作品分析"))
self.label.setText(_translate("Form", "选择电影:"))
self.comboBox.setItemText(0, _translate("Form", "夏洛特烦恼"))
self.comboBox.setItemText(1, _translate("Form", "羞羞的铁拳"))
self.comboBox.setItemText(2, _translate("Form", "西虹市首富"))
self.pushButton.setText(_translate("Form", "分析"))
self.label_2.setText(_translate("Form", "主要城市评论数及平均分"))
self.pushButton_2.setText(_translate("Form", "查看"))
self.label_3.setText(_translate("Form", " 热力图"))
self.pushButton_3.setText(_translate("Form", "查看"))
self.label_4.setText(_translate("Form", " 词云"))
self.pushButton_4.setText(_translate("Form", "查看"))
# 电影选择事件
self.comboBox.activated[str].connect(self.itemchange)
# 分析功能
self.pushButton.clicked.connect(self.anal)
# 判断是否有词云图片
if not os.path.isfile(d + '夏洛特烦恼词云.png'):
self.pushButton.setText('分析')
self.hide()
else:
self.pushButton.setText('完成重新分析')
self.moveName = '夏洛特烦恼'
self.moveId = '246082'
self.show()
self.btnclick()
# 程序主方法
if __name__ == '__main__':
# 获取当前文件路径
# __file__ 为当前文件, 在ide中运行此行会报错,可改为
# d = path.dirname(__file__)
d = os.path.dirname(os.path.realpath(sys.argv[0])) + "/" # 获取当前文件所在路径
d = re.sub(r'\\', '/', d) # 将路径中的分隔符\替换为/
# 实例化QApplication类
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
# 显示热力图,主要城市评论数_平均分窗体
win = MainWindows()
# 显示云图窗体
winy = MainWindowy()
# 初始化主窗体
ui = Ui_Form()
# 调用创建窗体方法
ui.setupUi(MainWindow)
# 显示主窗体
MainWindow.show()
sys.exit(app.exec_())