用python制作微信好友个性签名的词云图

系统 1667 0

制作思路

  1. 导入微信库ichat,中文分词库jieba
  2. 跳出登陆二维码,扫码登陆
  3. 获取好友列表
  4. 构建所有好友个性签名组成的大列表tList
  5. 对个性签名进行中文分词
  6. 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
  7. 导入词云制作库wordcloud
  8. 构建并配置词云对象w,注意要加scale参数,提高清晰度
  9. 显示词云图片,并保存到本地
            
              
                # 导入微信库ichat,中文分词库jieba
              
              
                import
              
               itchat

              
                import
              
               jieba


              
                # 先登录微信,跳出登陆二维码
              
              
itchat
              
                .
              
              login
              
                (
              
              
                )
              
              
tList 
              
                =
              
              
                [
              
              
                ]
              
              
                # 获取好友列表
              
              
friends 
              
                =
              
               itchat
              
                .
              
              get_friends
              
                (
              
              update
              
                =
              
              
                True
              
              
                )
              
              
                # 构建所有好友个性签名组成的大列表tList
              
              
                for
              
               i 
              
                in
              
               friends
              
                :
              
              
                # 获取个性签名
              
              
    signature 
              
                =
              
               i
              
                [
              
              
                "Signature"
              
              
                ]
              
              
                if
              
              
                'emoji'
              
              
                in
              
               signature
              
                :
              
              
                pass
              
              
                else
              
              
                :
              
              
        tList
              
                .
              
              append
              
                (
              
              signature
              
                )
              
              
text 
              
                =
              
              
                " "
              
              
                .
              
              join
              
                (
              
              tList
              
                )
              
              
                # 对个性签名进行中文分词
              
              
wordlist_jieba 
              
                =
              
               jieba
              
                .
              
              lcut
              
                (
              
              text
              
                ,
              
               cut_all
              
                =
              
              
                True
              
              
                )
              
              
wl_space_split 
              
                =
              
              
                " "
              
              
                .
              
              join
              
                (
              
              wordlist_jieba
              
                )
              
              
                # 导入imageio库中的imread函数,并用这个函数读取本地图片,作为词云形状图片
              
              
                import
              
               imageio
mk 
              
                =
              
               imageio
              
                .
              
              imread
              
                (
              
              
                "chinamap.png"
              
              
                )
              
              
                # 导入词云制作库wordcloud
              
              
                import
              
               wordcloud


              
                # 构建并配置词云对象w,注意要加scale参数,提高清晰度
              
              
my_wordcloud 
              
                =
              
               wordcloud
              
                .
              
              WordCloud
              
                (
              
              background_color
              
                =
              
              
                'white'
              
              
                ,
              
              
                                   width
              
                =
              
              
                1000
              
              
                ,
              
              
                                   height
              
                =
              
              
                700
              
              
                ,
              
              
                                   font_path
              
                =
              
              
                'msyh.ttc'
              
              
                ,
              
              
                                   max_words
              
                =
              
              
                2000
              
              
                ,
              
              
                                   mask
              
                =
              
              mk
              
                ,
              
              
                                   scale
              
                =
              
              
                20
              
              
                )
              
              
my_wordcloud
              
                .
              
              generate
              
                (
              
              wl_space_split
              
                )
              
              

nickname 
              
                =
              
               friends
              
                [
              
              
                0
              
              
                ]
              
              
                [
              
              
                'NickName'
              
              
                ]
              
              
filename 
              
                =
              
              
                "output11-{}的微信好友个性签名词云图.png"
              
              
                .
              
              
                format
              
              
                (
              
              nickname
              
                )
              
              
my_wordcloud
              
                .
              
              to_file
              
                (
              
              filename
              
                )
              
              
                # 显示词云图片
              
              
                import
              
               matplotlib
              
                .
              
              pyplot 
              
                as
              
               plt

              
                %
              
              matplotlib inline
plt
              
                .
              
              imshow
              
                (
              
              my_wordcloud
              
                )
              
              
plt
              
                .
              
              axis
              
                (
              
              
                "off"
              
              
                )
              
              
plt
              
                .
              
              show
              
                (
              
              
                )
              
              
                print
              
              
                (
              
              
                '程序结束'
              
              
                )
              
            
          

示例结果

            
              Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.
Please press confirm on your phone.
Loading the contact, this may take a little while.
Login successfully as 倔强 Jarrod

            
          

用python制作微信好友个性签名的词云图_第1张图片
程序结束

也可以制作城市词云图

同理只要将上面代码中的signature改成city就可以了

            
              
                for
              
               i 
              
                in
              
               friends
              
                :
              
              
                # 获取个性签名
              
              
    city 
              
                =
              
               i
              
                [
              
              
                "City"
              
              
                ]
              
              
                if
              
              
                'emoji'
              
              
                in
              
               city
              
                :
              
              
                pass
              
              
                else
              
              
                :
              
              
        tList
              
                .
              
              append
              
                (
              
              city
              
                )
              
              
text 
              
                =
              
              
                " "
              
              
                .
              
              join
              
                (
              
              tList
              
                )
              
            
          


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论