文章目錄
- 一、微信群發方式
- 二、安裝方式
- 三、我的案例
- 四、wxauto庫的功能整理
一、微信群發方式
1.微信官方“群發助手”
?優點:這個功能確實很方便
?缺點:一次只能發一條
????發送內容不能含鏈接
????不能對群發時每個人設定稱呼
???? 發送完畢在聊天視窗欄不顯示
???? 群發時發送圖片與檔案經常未送達且無未送達提醒
2.Itchat、wxpy
??itchat是個非常強大的第三方庫,
??但是目前大部分用戶面臨由于安全問題,TX對很多用戶的網頁版微信進行了限制登錄,itchat庫無法發揮作用,出現報錯:KeyError: pass_ticket

3.其他還有微信機器人、付費平臺,在此不多宣傳
4.wxauto第三方庫
??平衡之下,我發現了tikic在GitHub上面發布的wxauto第三方庫,不可否認他的速度不如itchat,沒有那么多人在此基礎上做開發,但是wxauto基本滿足我對于微信自動化的需求,并且期待后續wxauto的完善,
二、安裝方式
pip install wxauto
三、我的案例
??對于日常想要把一些訊息通知到每一個人并確保他們能夠收到,新建一個群固然快捷,但是對于社交猶豫癥的人來說建群、解散群還是會對收訊息的人造成很多社交麻煩,并且經常需要通知的人也在變動,
??利用wxauto,實作對好友發送訊息(含鏈接),二維碼圖片,以及檔案,并且在發送資訊前加上對于不同好友的稱呼:
from wxauto import WeChat
import time, random
wx = WeChat() # 獲取當前微信客戶端
wx.GetSessionList() # 獲取會話串列
# 需要群發的好友
whos = [["微信備注名A", "稱呼A"], ["微信備注名B", "稱呼B"]]
msg = ",這是鏈接:https://wj.qq.com/s2,請查收,"
file1 = "E:/FileSave/QRcode.jpg"
file2 = "E:/FileSave/data.zip"
for i in whos:
who = i[0]
message = i[1] + msg # 稱呼和發送訊息合并
time.sleep(random.randint(10, 20)) # 隨機等待10-20s
wx.ChatWith(who) # 打開聊天視窗
# wx.Search(who) # 查找微信好友,不會在當前聊天欄滾動查找
wx.SendMsg(message)
wx.SendFiles(file1, fele2) # 可發送多個檔案
print("end send", i[0])
print("All end send")
四、wxauto庫的功能整理
wxauto目前有WxParam、WxUtils、WeChat三個類:
?其中WxParam設定基本引數設定,
?對于WxUtils類下面存放著主要功能函式:
| 函式 | 說明 |
|---|---|
| SetClipboard(data, dtype=‘text’) | 復制文本資訊或圖片到剪貼板data : 要復制的內容,str 或 Image 影像; |
| Screenshot(hwnd, to_clipboard=True) | 為句柄為hwnd的視窗程式截圖;hwnd : 句柄;to_clipboard : 是否復制到剪貼板; |
| SavePic(savepath=None, filename=None) | 保存截圖;savepath:檔案保存位置;filename:檔案名字; |
| ControlSize(control) | 獲取控制視窗大小; |
| ClipboardFormats(unit=0, *units) | 獲取剪切板格式 ; |
| CopyDict() |
?WeChat類下面定義呼叫微信的函式:
| 函式 | 說明 |
|---|---|
| GetSessionList(self, reset=False) | 獲取當前會話串列,更新會話串列 |
| Search(self, keyword) | 查找微信好友或關鍵詞;keywords: 要查找的關鍵詞,最好完整匹配,不完全匹配只會選取搜索框第一個; |
| ChatWith(self, who, RollTimes=None) | 打開某個聊天框;who : 要打開聊天框的好友名,最好完整匹配,不完全匹配只會選取搜索框第一個;RollTimes : 默認向下滾動次數,再進行搜索; |
| SendMsg(self, msg, clear=True) | 向當前視窗發送訊息;msg : 要發送的訊息; |
| SendFiles(self, *filepath, not_exists=‘ignore’) | 向當前聊天視窗發送檔案;not_exists: 如果未找到指定檔案,繼續或終止程式;*filepath: 要復制檔案的絕對路徑; |
| SendClipboard(self) | 向當前聊天頁面發送剪貼板復制的內容; |
| GetAllMessage(self) | 獲取當前視窗中加載的所有聊天記錄; |
| GetLastMessage(self) | 獲取當前視窗中最后一條聊天記錄 |
| LoadMoreMessage(self, n=0.1) | 定位到當前聊天頁面,并往上滾動滑鼠滾輪,加載更多聊天記錄到記憶體發送某個桌面程式的截圖,如:微信、記事本;name : 要發送的桌面程式名字;classname : 要發送的桌面程式類別名; |
| SendScreenshot(self, name=None, classname=None) | 發送某個桌面程式的截圖,如:微信、記事本;name : 要發送的桌面程式名字;classname : 要發送的桌面程式類別名; |
wxauto庫資訊:
Author: tikic@qq.com
Source: https://github.com/cluic/wxauto
Version: 3.3.5.3
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/374780.html
標籤:python
