美文网首页
【python爬虫实战】使用词云分析来分析豆瓣影评数据

【python爬虫实战】使用词云分析来分析豆瓣影评数据

作者: lomtom | 来源:发表于2020-02-26 20:02 被阅读0次

    概述:

    制作词云的步骤:
    1、从文件中读取数据
    2、根据数据追加在一个字符串里面,然后用jieba分词器将评论分开
    3、设置WordCloud词云参数
    4、保存最后的结果

    数据:使用爬取的豆瓣影评数据

    第一步:引入依赖库

    # 1、表格库
    import csv
    
    # 2、jieba分词器
    import jieba
    
    # 3、算法运算库
    import numpy
    
    # 4、图像库
    from PIL import Image
    
    # 5、词云库
    from wordcloud import WordCloud
    

    第二步:读取数据

     stars = ("很差","较差","还行","推荐","力荐")
        comments = []
        with open("files/douban.csv","r",encoding="utf-8") as file:
            reader = csv.reader(file)
            for i in reader:
                if i[1] not in stars:
                    pass
                else:
                    comments.append(i)
            file.close()
    

    第三步:解析数据并保存

    str = ""
        for i in data:
            str+=i[2]
        cutWord = " ".join(jieba.cut(str))
        bgImg = numpy.array(Image.open("files/a.jpg"))
        cloud = WordCloud(
            font_path="C:\Windows\Fonts\STZHONGS.TTF",
            background_color="white",
            mask=bgImg
        ).generate(cutWord)
        cloud.to_file("ciyun.png")
    

    效果图:

    模型:


    模型
    效果: 效果

    源代码:

    # 1、表格库
    import csv
    # 2、jieba分词器,将一句话的词语分离出来
    # 1)、控制台输入:pip install jieba
    # 2)、左上角 file-->settings--->项目
    # 3)、清华园下载方式(在控制台)
    # pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba
    # 阿里
    # pip install jieba -i  http://mirrors.aliyun.com/pypi/simple/
    
    import jieba
    
    # 3、算法运算库
    # 控制台输入:pip install numpy
    # pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
    
    import numpy
    
    # 4、图像库
    # 控制台输入:pip install pillow
    # pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow
    
    from PIL import Image
    
    # 5、词云库
    # 控制台输入:pip install WordCloud
    # pip install -i https://pypi.tuna.tsinghua.edu.cn/simple WordCloud
    
    from wordcloud import WordCloud
    
    # 定义函数,将数据从表格里读取出来
    def getDataFromCsv():
        # 设置星级等级
        stars = ("很差","较差","还行","推荐","力荐")
        # 设置空列表,装从表格里面读出来的所有数据
        comments = []
        # 打开表格,"r"读取模式  读取数据
        with open("files/douban.csv","r",encoding="utf-8") as file:
            # 表格操作读数据
            reader = csv.reader(file)
            # 遍历表格里得到所有数据     [用户名,星级,评论]
            for i in reader:
                # 如果没有星级
                if i[1] not in stars:
                    # 数据无效,忽略不处理
                    pass
                else:
                    # 数据有效,装入数组
                    comments.append(i)
            # print(comments)
            file.close()
        # 将装有数据的列表返回出来
        return comments
    
    # 定义函数,将解析的评论做成词云
    def getWordCloud():
        # 调用函数:得到表格中所有的数据
        data = getDataFromCsv()
        # 定义空的字符串,把所有的评论装进来
        str = ""
        # 遍历所有的数据
        for i in data:
            # [用户名, 星级, 评论]
            str+=i[2]
        # print(str)
        # 通过jieba分词器将评论里面的词语用空格分离出来
        cutWord = " ".join(jieba.cut(str))
        # print(cutWord)
        # 读取图片模型
        bgImg = numpy.array(Image.open("files/a.jpg"))
        # 准备词云参数
        cloud = WordCloud(
            # 文字的路径:本地的系统文件路径
            font_path="C:\Windows\Fonts\STZHONGS.TTF",
            # 生成词云的图片背景
            background_color="white",
            # 参考图片(参数,没有引号)
            mask=bgImg
        ).generate(cutWord)
        # 将做成的结果生成图片
        cloud.to_file("ciyun.png")
    

    问题:安装wordcloud出错,离线安装也出错,
    参考:https://blog.csdn.net/xiuxiuen_michelle/article/details/81080694
    解决:在 https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud 下载对应版本的库


    作者

    1、作者个人网站
    2、作者CSDN
    3、作者博客园
    4、作者简书

    相关文章

      网友评论

          本文标题:【python爬虫实战】使用词云分析来分析豆瓣影评数据

          本文链接:https://www.haomeiwen.com/subject/omqwchtx.html