日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

使用python生成微信好友個性簽名詞云圖

系統 2574 0

生成詞云主要使用了 itchat 、 jieba wordcloud 這三個依賴庫

  • itchat
    itchat是一個開源的微信個人號接口,使用python調用微信從未如此簡單。
  • jieba
    “結巴”中文分詞:做最好的 Python 中文分詞組件
  • wordcloud
    詞云圖,也叫文字云,是對文本中出現頻率較高的“關鍵詞”予以視覺化的展現,詞云圖過濾掉大量的低頻低質的文本信息,使得瀏覽者只要一眼掃過文本就可領略文本的主旨。

相關的使用、API可以點擊上面鏈接進行查看

首先我們得安裝這三個庫供我們的項目使用,如下命令:

            
              pip 
              
                install
              
               itchat

            
          
            
              pip 
              
                install
              
               jieba

            
          
            
              pip 
              
                install
              
               wordcloud

            
          

1、開始碼代碼獲取我們的微信好友個性簽名了

            
              
                # 導入相關的包
              
              
                import
              
               itchat

              
                import
              
               jieba

              
                from
              
               wordcloud 
              
                import
              
               WordCloud

              
                import
              
               numpy 
              
                as
              
               np

              
                from
              
               PIL 
              
                import
              
               Image

              
                import
              
               os


              
                # 調用登錄,會在控制臺輸出登錄二維碼,微信掃描登錄即可
              
              
itchat
              
                .
              
              auto_login
              
                (
              
              enableCmdQR
              
                =
              
              
                2
              
              
                )
              
              
                # 通過itchat.get_friends()可以獲取到我們微信好友列表和好友的信息
              
              
friends 
              
                =
              
               itchat
              
                .
              
              get_friends
              
                (
              
              update
              
                =
              
              
                True
              
              
                )
              
            
          
  • 調用登錄,會在控制臺輸出登錄二維碼,微信掃描登錄即可
  • 獲取到每一個好友的信息有如下內容
    使用python生成微信好友個性簽名詞云圖_第1張圖片
  • 這里我們只需要獲取 Signature 字段的值即可,也就是好友的個性簽名
  • 將獲取到的簽名拼接成一個字符串,同時去除一些特殊代碼字符
            
              signature 
              
                =
              
              
                ''
              
              
                for
              
               friend 
              
                in
              
               friends
              
                :
              
              
    sign 
              
                =
              
              
                str
              
              
                (
              
              friend
              
                [
              
              
                'Signature'
              
              
                ]
              
              
                )
              
              
                if
              
              
                len
              
              
                (
              
              sign
              
                )
              
              
                ==
              
              
                0
              
              
                :
              
              
                continue
              
              
                # 去除一些樣式簽名
              
              
    signature 
              
                +=
              
               sign
              
                .
              
              replace
              
                (
              
              
                "
                
                  
                    ,
                  
                  
                    ""
                  
                  
                    )
                  
                   \
        
                  
                    .
                  
                  replace
                  
                    (
                  
                  
                    "class"
                  
                  
                    ,
                  
                  
                    ""
                  
                  
                    )
                  
                   \
        
                  
                    .
                  
                  replace
                  
                    (
                  
                  
                    "
                  
                  "
                
                
                  ,
                
                
                  ""
                
                
                  )
                
                 \
        
                
                  .
                
                replace
                
                  (
                
                
                  "emoji"
                
                
                  ,
                
                
                  ""
                
                
                  )
                
                 \
        
                
                  .
                
                replace
                
                  (
                
                
                  " "
                
                
                  ,
                
                
                  ""
                
                
                  )
                
                 \
        
                
                  .
                
                replace
                
                  (
                
                
                  "\n"
                
                
                  ,
                
                
                  ""
                
                
                  )
                
              
            
          

2、利用 jieba 庫對簽名進行分詞

            
              wordList 
              
                =
              
               jieba
              
                .
              
              cut
              
                (
              
              signature
              
                ,
              
               cut_all
              
                =
              
              
                True
              
              
                )
              
              
                # 將jieba 分割的字符以空格拼成一整個字符串
              
              
text 
              
                =
              
              
                " "
              
              
                .
              
              join
              
                (
              
              wordList
              
                )
              
              
                print
              
              
                (
              
              text
              
                )
              
            
          

3、最后使用 wordcloud 將每個詞語的頻率繪制成詞云了

            
              
                # 獲取當前文件的執行路徑
              
              
src_dir 
              
                =
              
               os
              
                .
              
              getcwd
              
                (
              
              
                )
              
              
                # 生成詞云形狀的圖片地址
              
              
imagePath 
              
                =
              
               src_dir 
              
                +
              
              
                "\\ciyun.png"
              
              
                # 生成詞云字體地址(防止中文亂碼)
              
              
font 
              
                =
              
               src_dir 
              
                +
              
              
                "\\SimHei.ttf"
              
              
                # 生成的詞云圖地址
              
              
resultPath 
              
                =
              
               src_dir 
              
                +
              
              
                "\\好友個性簽名詞云圖.png"
              
              
                print
              
              
                (
              
              
                "開始生成微信好友個性簽名詞云..."
              
              
                )
              
              
                # 開始生成圖片
              
              
bg 
              
                =
              
               np
              
                .
              
              array
              
                (
              
              Image
              
                .
              
              
                open
              
              
                (
              
              imagePath
              
                )
              
              
                )
              
              
wc 
              
                =
              
               WordCloud
              
                (
              
              
    mask
              
                =
              
              bg
              
                ,
              
              
                # 造型遮蓋
              
              
    background_color
              
                =
              
              
                "white"
              
              
                ,
              
              
                # 背景顏色
              
              
    max_font_size
              
                =
              
              
                150
              
              
                ,
              
              
                # 字體最大值
              
              
    min_font_size
              
                =
              
              
                5
              
              
                ,
              
              
                # 字體最小值
              
              
    max_words
              
                =
              
              
                5000
              
              
                ,
              
              
                # 詞云顯示的最大詞數
              
              
    random_state
              
                =
              
              
                40
              
              
                ,
              
              
                # 設置有多少種隨機生成狀態,即有多少種配色方案
              
              
    font_path
              
                =
              
              font
              
                ,
              
              
                # 設置字體
              
              
                )
              
              
                .
              
              generate
              
                (
              
              text
              
                )
              
              
wc
              
                .
              
              to_file
              
                (
              
              resultPath
              
                )
              
              
                print
              
              
                (
              
              
                "詞云圖片已生成"
              
              
                +
              
               resultPath
              
                )
              
            
          

4、最后生成的詞云圖

使用python生成微信好友個性簽名詞云圖_第2張圖片
  • 通過上圖可以看出我的微信好友還是滿滿的正能量的

趕快來看看你的微信好友個性簽名詞云吧!

Demo下載地址在這里


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 东丰县| 博罗县| 灵川县| 墨玉县| 南靖县| 肇庆市| 平邑县| 汉中市| 车险| 介休市| 龙胜| 钟山县| 双辽市| 噶尔县| 田阳县| 大港区| 涪陵区| 左云县| 蓝山县| 娱乐| 南丹县| 石嘴山市| 原平市| 拜泉县| 宜宾县| 论坛| 夏河县| 黑河市| 菏泽市| 宜春市| 湖口县| 东明县| 望奎县| 沛县| 南靖县| 寻甸| 五指山市| 泗洪县| 丰原市| 合阳县| 无为县|