赞
踩
anaconda 安装 wordcloud的命令
conda install -c conda-forge wordcloud
数据来源基于Python的第三方库,即requests库
,bs4库
,re库
爬取豆瓣网TOP10的电影信息,以及它们的部分影评信息(100个左右)。
将爬取的信息进行预处理,封装成dict字典,借助 pymongo库
连接本机的 MongoDB,向数据库插入之前爬取的真实数据,然后分别使用MongoDB提供的map_reduce机制以及agreegate机制来聚合、分组、汇总计算数据,以MongoDB为基础,存储影视信息和评论信息,同时分析电影的综合价值。
这一部分可参考Gitee仓库:https://gitee.com/ccuni/pymongo-douban-comment-analysis
from pymongo import MongoClient
from random import randint
client = MongoClient('localhost', 27017)
db = client.mv
# 创建电影信息集合
ct_mv_info = db.dc_mv_info
# 创建影评集合
ct_mv_review = db.dc_mv_review
# 查看创建结果
ct_mv_review
这里先将DataFrame的影视信息转化为dict字典格式
dc_mv = [] index = 0 for x in mv_data.values.tolist(): dict_info = { } # 指定文档的_id为电影ID dict_info['_id'] = mv_data['mv_id'][index] index += 1 # i 用于循环遍历取DF列表数据 i = 0 for key, v in mv_data.items(): dict_info[key] = x[i] i += 1 # 指定文档的 dc_mv.append(dict_info) dc_mv
# 插入前 先清空
ct_mv_info.delete_many({
})
# 插入文档
ct_mv_info.insert_many(dc_mv)
ct_mv_info.find_one()
先处理信息,将原先的DataFrame的影评信息转化为可插入到MongoDB的dict字典
# list_mv[1] 输出结果 dict_keys(['reviews', 'star']) # 查询保存的列表数据 # for x in list_mv[1].values.to_list(): # print(x) ''' 根据之前的存储信息获取所有电影的影评, 封装成可插入MongoDB的 dict ''' def getAllReviews() -> list[list]: index = 0 reviews = [] for i in range(len(list_mv)): # 获取每一列 rv_cols = list_mv[0]['reviews'].columns # 表示当前的评论标号 i = 0 # 记录当前电影的所有影评信息 dc_reviews = [
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。