def evaluation_chart(self): # 销量榜数据表名称 sales_volume_rankings_table_name = 'sales_volume_rankings' # 热评榜数据表名称 heat_rankings_table_name = 'heat_rankings' # 创建自定义数据库对象 mysql = MySQL() # 创建爬去对象 mycrawl = Crawl() # 连接数据库 sql = mysql.connection_sql() # 创建游标 cur = sql.cursor() good_rate_list = [] # 好评率列表 # 查询关注图书的信息,中的京东id attention_message = mysql.query_attention(cur, 'jd_id,book_name', sales_volume_rankings_table_name, "attention = '1'") for i in range(len(attention_message)): # 获取好评率与评价时间 good_rate,time = mycrawl.get_evaluation(0, attention_message[i][0]) # 将关注的商品名称与好评率添加至列表当中 good_rate_list.append((attention_message[i][1], good_rate)) # 关注的第一个商品 if i == 0: plt1 = PlotCanvas() # 创建如表画布类对象 # 显示评价分析图 plt1.pie_chart(good_rate_list[0][1], (100 - good_rate_list[0][1]), good_rate_list[0][0]) # 将评价分析图添加至布局中 self.horizontalLayout_0.addWidget(plt1) # 关注的第二个商品 if i == 1: plt2 = PlotCanvas() plt2.pie_chart(good_rate_list[1][1], (100 - good_rate_list[1][1]), good_rate_list[1][0]) self.horizontalLayout_1.addWidget(plt2) # 关注的第三个商品 if i == 2: plt3 =PlotCanvas() plt3.pie_chart(good_rate_list[2][1], (100 - good_rate_list[2][1]),good_rate_list[2][0]) self.horizontalLayout_2.addWidget(plt3) mysql.close_sql() # 关闭数据库