美文网首页
python生成词云

python生成词云

作者: 月巴月巴 | 来源:发表于2019-04-29 22:24 被阅读0次
    • 生成词云还挺简单的。就用wordcloud库就可以生成。WordCloud用的内容可以是字符串,也可以是dict.生成中文信息的时候要指定字体文件。不然返回的都是方块。

    • 关于扒网页信息。要注意的是在header里放一些user-agent一类的东西(假装是真的有人从浏览器点开)。不然可能网站会识别出来,啥都不返回。返回值需要encode成utf-8,不然中文显示是十六进制的。

    • json包是可以直接把字符串解析成json的。
      具体看代码就好

    生成结果
    import requests
    import json
    import matplotlib.pyplot as plt
    from wordcloud import WordCloud
    
    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
    }
    response=requests.get('http://staticize.mop.com/flow/getGodsPost?callback=jQuery18306592292048542212_1556547095138&category=110017&_=1556547100904', headers)
    data=response.content.decode('utf-8')
    jsonData = json.loads(data[data.find("{"):data.rfind("}")+1])
    webContent = jsonData["data"] #title htmlname
    
    #generate word cloud
    cloudStr = ""
    for content in webContent:
        cloudStr += content["title"]
    #font_path is used for Chinese characters
    cloud = WordCloud(font_path="C:\Windows\Fonts\msyhbd.ttc",background_color="white",width=1000,height=860,margin=2).generate(cloudStr)
    
    plt.imshow(cloud)
    plt.axis("off")
    plt.show()
    

    相关文章

      网友评论

          本文标题:python生成词云

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