爬虫(103)分析 the girl QQ 空间的说说

2020-05-16 22:09:15 浏览数 (1)

昨天偷偷爬取了我们喜欢的 女孩的 QQ 空间说说,千万要把内容保存好了,不要泄露出去了,否则死无葬身之地啊,会被打死的,会被当作无耻之徒的,我都感觉自己罪恶感蹭蹭往上涨了,不过为了喜欢的人,无耻一回也罢

接下来小编就带领大家来教大家如何将昨天爬取的内容进行词云可视化展示,首先需要安装词云库,以及画图的库

代码语言:javascript复制
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba

wordcloud 词云库

matplotlib 画图的库

jieba 中文分词库

爬虫(六十九)简明 jieba 中文分词教程(六十)

接着,我们当然需要读取昨天爬取完成之后的数据 qq_word.txt 这个文件

代码语言:javascript复制
text= open("{}".format(filename), encoding='UTF-8').read()

jieba 分词

代码语言:javascript复制
# 结巴分词
    wordlist = jieba.cut(text, cut_all=True)
    wl = " ".join(wordlist)

设置词云

代码语言:javascript复制
# 设置词云
    wc = WordCloud(
        # 设置背景颜色
        background_color="white",
         # 设置最大显示的词云数
       max_words=2000,
         # 这种字体都在电脑字体中,一般路径
       font_path='C:WindowsFontssimfang.ttf',
       height= 1200,
       width= 1600,
        # 设置字体最大值
       max_font_size=100,
     # 设置有多少种随机生成状态,即有多少种配色方案
       random_state=30,
    )

生成词云图

代码语言:javascript复制
myword = wc.generate(wl)  # 生成词云
    # 展示词云图
    plt.imshow(myword)
    plt.axis("off")
    plt.show()
    wc.to_file('py_book.png')  # 把词云保存下

总体代码

代码语言:javascript复制
#coding:utf-8
 
"""
使用结巴分词生成云图
 说明这里
 1.生成词云一定要设置字体样式,否则汉字出现乱码或者不显示
 2.我不知道为什么本机一直显示不了中文,后面我加了jieba分词词库就可以显示中文了
 
"""
 
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
 
#生成词云
def create_word_cloud(filename):
    text= open("{}".format(filename), encoding='UTF-8').read()
    # 结巴分词
    wordlist = jieba.cut(text, cut_all=True)
    wl = " ".join(wordlist)
 
    # 设置词云
    wc = WordCloud(
        # 设置背景颜色
        background_color="white",
         # 设置最大显示的词云数
       max_words=2000,
         # 这种字体都在电脑字体中,一般路径
       font_path='C:WindowsFontssimfang.ttf',
       height= 1200,
       width= 1600,
        # 设置字体最大值
       max_font_size=100,
     # 设置有多少种随机生成状态,即有多少种配色方案
       random_state=30,
    )
 
    myword = wc.generate(wl)  # 生成词云
    # 展示词云图
    plt.imshow(myword)
    plt.axis("off")
    plt.show()
    wc.to_file('py_book.png')  # 把词云保存下
 
if __name__ == '__main__':
    create_word_cloud('qq_word.txt')

0 人点赞