您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么用python wxpy管理微信公眾號并利用微信獲取自己的開源數據,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1、云計算,典型應用OpenStack。2、WEB前端開發,眾多大型網站均為Python開發。3.人工智能應用,基于大數據分析和深度學習而發展出來的人工智能本質上已經無法離開python。4、系統運維工程項目,自動化運維的標配就是python+Django/flask。5、金融理財分析,量化交易,金融分析。6、大數據分析。
首先wxpy是itchat的升級版,通過wxpy bot.core即可原封不動的調用itchat的指令。
可以實現的簡單功能:
1. 調取所有微信好友的信息,包括頭像,簽名,地區,等信息。
# -*- coding: utf-8 -*- """ Created on Fri Jul 19 17:10:01 2019 @author: wenzhe.tian """ import wxpy as wp from collections import defaultdict import pandas as pd from tkinter import messagebox import os #初始化機器人,選擇緩存模式(掃碼)登錄 bot = wp.Bot(cache_path=True) friend = bot.core.get_friends(update=True)[0:] num = 0 for f in friend: image = bot.core.get_head_img(userName=f["UserName"]) #用 itchat.get_head_img(userName=None)來爬取好友列表的頭像 fileImage = open(str(num) + ".jpg",'wb') #將好友頭像下載到本地 fileImage.write(image) fileImage.close() num += 1 friend=pd.DataFrame(friend) friend.to_excel('friend.xlsx',sheet_name='Friend_Info')#所有朋友相關資料存為excel
根據上面可以做一些頭像集合,或者微信好友的動態圖表統計。
2. 消息回復
bot.friends().search('老九門里排第十')[0].send('[強]') #表示回復給 '老九門里排第十' 點贊符號 相當于 friends.search()
-------------------------------------------------------------------------------
然而這些不能滿足一些高級的需求比如:
1.可以自動將錄音,視頻,圖像,聊天記錄等按照檔案記錄下來。(此處修改可操作連接圖靈機器人,將提問和回答的信息記錄下來。作為自己訓練的原始數據集)
其中 全局參數 global temp:
temp是一個list,可以將最近的消息加入list,該消息信息是字典格式的所有消息包含的原始數據。 比如消息類型,發送人,接收人等等。
# -*- coding: utf-8 -*- """ Created on Fri Jul 19 13:10:01 2019 @author: wenzhe.tian """ import wxpy as wp from collections import defaultdict import pandas as pd from tkinter import messagebox import os bot = wp.Bot(cache_path=True) chats=bot.chats() # 所有開啟了聊天窗口的對象 groups=bot.groups() # 所有群的對象 friends=bot.friends() # 所有好友的對象 mps=bot.mps() # 所有公眾號的對象 @bot.register() def print_messages(msg): print(msg.create_time,msg) global temp if msg.sender.nick_name in message.keys(): message[msg.sender.nick_name].append(msg.raw) else: message[msg.sender.nick_name]=[] message[msg.sender.nick_name].append(msg.raw) path='C:\\Users\\wenzhe.tian\\Desktop\\send_mail\\wechat_infomation\\'; # 修改為希望存儲聊天,推送,圖片,視頻,音頻等信息的地址 if os.path.exists(path+msg.sender.nick_name)==False: os.makedirs(path+msg.sender.nick_name) if msg.type=='Text': f = open(path+msg.sender.nick_name+'\\message.txt','a+',encoding='utf-8') f.read() f.write('\n') f.write(str(msg.create_time)+msg.text) f.close() else: print('非文字消息,已存儲') if '.' in msg.file_name: msg.get_file(save_path=path+msg.sender.nick_name+'\\'+msg.file_name) else: msg.get_file(save_path=path+msg.sender.nick_name+'\\'+msg.file_name+'.txt')
如上圖: 所有新回復的消息會自動創建 代碼里path下的文件夾,視頻,錄音等非文字內容會直接下載,推送等html格式的消息會當做文字和聊天記錄一同保存下來記錄到message.txt里
文字可以用于訓練,亦可用于詞云等生成。
2.可以管理微信公眾號,比如根據對方的輸入自動從調取數據回復,或者固定轉發某些來源的推送。
# 定位公司群 company_group = ensure_one(bot.groups().search('公司微信群')) # 定位老板 boss = ensure_one(company_group.search('BOSS')) # 將老板的消息轉發到文件傳輸助手 @bot.register(company_group) def forward_boss_message(msg): if msg.member == boss: msg.forward(bot.file_helper, prefix='BOSS')
3. 針對某人的自動回復,此處可設定詞匯和回復內容(比如html格式的推送或者鏈接)來實現微信公眾號的一些運營。
具體用法如下:
@ bot.register() 的括號內必須為一個對象,比如上文是一個公司的群,是從所有群中搜索名字 '公司微信群' ,我們之前定義的
groups=bot.groups() # 所有群的對象 friends=bot.friends() # 所有好友的對象 mps=bot.mps() # 所有公眾號的對象
均是對象的集合,從中篩選即可,比如想要自動回復 老九門里排第十 這個人的所有text類型的消息。即
laojiu= friends.search('老九門里排第十')[0] # 這里其實默認搜索的是nickname
然后:
@bot.register([laojiu, groups], TEXT) # 此處表示對laojiu 和所有groups里的對象的text類型的消息做操作 def auto_reply(msg): # 如果是群聊,但沒有被 @,則不回復 if isinstance(msg.chat, Group) and not msg.is_at: return else: # 回復消息內容和類型 return '收到消息: {} ({})'.format(msg.text, msg.type)
暫時更新到這里,以上。
關于“怎么用python wxpy管理微信公眾號并利用微信獲取自己的開源數據”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。