一個需求
需要利用Python+第三方庫wxauto 用於微信上自動獲取聊天信息,從而根據自己需求對信息自動進行二次處理,
比如自動回復,再比如自動發送文件或者其他。
--- 記錄於2022年07月
使用Python3的第三方庫wxauto
, 它適用於Windows的微信客戶端
官網: https://github.com/cluic/wxauto
這篇是微信自動化工具開發系列的第三篇
代碼的主要功能:
Python自動給微信好友發送信息,發送文件
Python自動給多個微信好友發送文件,每個好友發送多個文件
注:wxauto.py裡面的第252行進行修改,否則運行會報錯
微信版本 3.7.5.23 更新導致的問題
需進行下面的修改來進行修復,修改第252行為:
copydata = COPYDICT[i].replace(b'<EditElement type="0" pasteType="0"><![CDATA[ ]]>', key.encode()).replace(b'type="0"', b'type="3"')
這邊使用
wxauto
來進行開發,而不是itchat
,原因如下
itchat
都是之前的教程,
本質上是用的微信的網頁端的接口來進行數據交互的。
如果你想要使用itchat
的代碼的話,
https://wx.qq.com/
騰訊官方雖然沒有正式的發表聲明,但是你搜一下可以看到相關信息
大概從去年開始(時間不太確定),大部分微信賬號都不可以繼續登錄微信網頁端,只有少部分賬號還可以登錄。
原因未知。
itchat
的代碼來學習運行下,如果登錄失敗,那麼或許你可以嘗試下wxauto
也就是這裡所說的方法來運行下。
Windows 10
Python 3.8.10
Windows 10的微信客戶端版本:3.7.5.23 (中文版本)
注:微信客戶端中文版跟英文版都可以
沒什麼太大區別。建議使用中文版本,英文版本現在微信更新後出現了Bug.
安裝Python3的第三方庫
wxauto
,具體步驟如下
官網: https://github.com/cluic/wxauto
在cmd窗口執行下面命令進行安裝
wxauto
python3 --version
python3 -m pip install wxauto -i https://pypi.tuna.tsinghua.edu.cn/simple
wxauto
是否安裝成功python3 -c "import wxauto; print(wxauto.VERSION)"
from wxauto import *
# 獲取當前微信客戶端
wx = WeChat()
# 獲取會話列表
wx.GetSessionList()
########################################################################################################################
# 函數功能: 單個用戶 單個文件發送
########################################################################################################################
def send_file_to_single_user(file, user):
# 向某人發送文件(以`文件傳輸助手`為例,發送三個不同類型文件)
print("******************************************")
try:
print(f"開始向單個用戶`{
user}`發送文件:{
file}")
wx.ChatWith(who) # 打開`文件傳輸助手`聊天窗口
wx.SendMsg("123")
wx.SendFiles(file)
print("發送完畢")
except Exception as e:
print("發送失敗,原因:", e)
print("******************************************")
########################################################################################################################
# 函數功能: 單個用戶 單個文件發送
########################################################################################################################
def send_files_to_mul_user(files, users):
print("******************************************")
# 向某人發送文件(以`文件傳輸助手`為例,發送三個不同類型文件)
for who in users:
print(f"開始跟{
who}發送文件")
wx.ChatWith(who)
for file in files:
print(f"向用戶`{
who}`發送文件:{
file}")
wx.SendFiles(file)
print("發送成功")
print("******************************************")
if __name__ == '__main__':
####################################################################################################################
# 函數功能: 單個用戶 單個文件發送
####################################################################################################################
file = r'C:\Users\Pictures\202205\01.jpg' # 修改為你的文件路徑
who = '文件傳輸助手' # 適用於中文版微信
send_file_to_single_user(file=file, user=who)
####################################################################################################################
# 函數功能: 多個用戶 每個用戶發送多個文件
####################################################################################################################
whos = ['文件傳輸助手', '什麼'] # 適用於中文版微信
files = [r'C:\Users\Pictures\202205\01.jpg',
r'C:\Users\Pictures\202205\02.jpg'] # 修改為你的文件路徑
send_files_to_mul_user(files=files, users=whos)
Settings
-> General
切換為中文)打開cmd窗口,在cmd窗口執行:
如果沒有安裝第三方庫,參考上面的
安裝
步驟進行安裝再執行下面命令
cd E:\2022Python # 修改為你的main03.py所在路徑
python3 main03.py
cmd窗口輸出結果為:
PS E:\2022Python> python3 main03.py
******************************************
開始向單個用戶`文件傳輸助手`發送文件:C:\Users\Pictures\202205\01.jpg
發送完畢
******************************************
******************************************
開始跟文件傳輸助手發送文件
向用戶`文件傳輸助手`發送文件:C:\Users\Pictures\202205\01.jpg
向用戶`文件傳輸助手`發送文件:C:\Users\Pictures\202205\02.jpg
開始跟什麼發送文件
向用戶`什麼`發送文件:C:\Users\Pictures\202205\01.jpg
向用戶`什麼`發送文件:C:\Users\Pictures\202205\02.jpg
發送成功
******************************************
這邊剛開始寫一下系列文章,想發展下自己的博客和微信公眾號賬號
如果對你有幫助,方便的話可以關注下 博客左側的微信公眾號(點擊我的頭像進入個人中心,位於左側下方)
如有問題的話,也可通過公眾號直接留言,這邊有微信提醒,可以幾小時內及時回復
也可直接在CSDN博客留言或者私信留言,這個沒有微信提醒,所以這邊可能一天或者幾天內給回復
微信公眾號所在位置:打開
個人中心
也就是這個鏈接
https://blog.csdn.net/xiaozi_001?type=blog
左側下方
如有需求,
想要對微信進行一些自動化操作來提高效率:
比如
自動群發不同聊天信息到幾個微信群裡
自動群發不同的圖片到幾個微信群裡
自動群發不同的文件到幾個微信群裡
如果你本身懂代碼的話, 直接看第三方庫
wxauto
的使用,自己來寫就可以了,博客後續也會基於這個系列繼續更新。
歡迎點贊留言提出問題,方便的話 點贊收藏 關注下微信公眾號
只是想要一個簡單的微信處理工具來滿足自己的需求的話
可以微信公眾號留言或者私信留言,
發下你的具體需求,這邊後續根據你的需求進行下二次開發
如有需求,可關注下博客左側的微信公眾號留言或者直接私信留言
前者可以幾小時內及時回復
後者可能看的不及時,大概一天或者幾天內有回復
如有問題 歡迎提出
如有疑問 歡迎留言
如有作用 歡迎點贊
如有失效 歡迎留言
2022年07月 可用