成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

用Python 80行代碼實現一個微信消息撤回捕捉功能

開發 后端 Android
自從微信出了這個消息撤回功能小編我都已經快被折磨死了,小編本來就是個好奇心比較重的人,微信出了這個功能之后小編感覺身體一天不如一天了,每次看著女神發來的信息又撤回,可謂是心里癢癢啊。

自從微信出了這個消息撤回功能小編我都已經快被折磨死了,小編本來就是個好奇心比較重的人,微信出了這個功能之后小編感覺身體一天不如一天了,每次看著女神發來的信息又撤回,可謂是心里癢癢啊。所以小編就寫了一個微信消息撤回捕捉器,下面就讓小編教你怎么擺脫單身逆襲白富美

1,模塊介紹

首先的話要實現消息撤回捕捉得用到python上一個十分強大的庫:itchat。如果大家沒有使用過的話小編就來介紹一下:

  1.     Project description 
  2. itchat is a open souce wechat api project for personal account. 
  3. It enables you to access your personal wechat account through command line. 

以上意思就是:itchat是一個面向個人賬戶的開源微信api項目。您可以通過命令行訪問您的個人微信帳戶。 所以說我們今天就要用到這個庫,首先我們要 :

  1. pip install itchat 

2,模塊功能熟悉

小編這里考慮到有些小伙伴從來沒用過這個模塊,所以下面會對這個模塊進行一個簡單的講解。

2.1 如何登錄微信

既然我們要捕捉微信的撤回信息那第一步肯定是要先登錄微信,登錄微信非常簡單只需要兩行代碼:

  1. import itchat​itchat.login() 

這樣就好了,是不是特別簡單,然后運行之后就會出現一個二維碼,掃描之后再手機上面授權登錄,控制臺就會顯示你是否登錄成功。

  1. •Login successfully as . 

這樣就說明你登錄成功了,但是這邊如果是新創建的微信和長期不使用的微信的話是無法登錄網頁版微信的,所以這里也會導致登錄不上。如果登錄不上,那也是沒有辦法的

2.2 獲取好友列表

  1. import itchat 
  2. ​itchat.auto_login(hotReload=True
  3. friends = itchat.get_friends()  # 好友列表 
  4. print(friends) 

使用get_friends()這個函數就能獲取到好友列表的所有好友信息,包括昵稱,備注名,地址,個性標簽,性別等等。

  1. [{'UserName':  
  2. '@7c2215e17edf4b193f125d6ecf944abcaf19ba72e3eb24b8442d5e32d4a8be92'
  3.  'City''''DisplayName''''PYQuanPin''''RemarkPYInitial':  
  4. '''Province''''KeyWord''''RemarkName''''PYInitial'''
  5.  'EncryChatRoomId''''**''''Signature''''NickName''**'
  6.  'RemarkPYQuanPin''''HeadImgUrl''**' 

這里我就隨便復制了一個好友的信息,關于到隱私的問題我就把信息全部用**代替了,我們重點是分析一下這些信息的內容,比如最開始的UserName這個是用戶的唯一標識,相當于身份證號碼一樣的,所有的好友UserName都是不一樣的,然后是NickName:這是好友的昵稱,HeadImgUrl:這是好友的頭像地址,還有一些就不一一介紹了,大家感興趣的話可以自己去了解一下

2.3 發送信息給好友

我們現在準備發送一條信息給好友,具體怎么操作呢?看下面代碼

  1. import itchat 
  2. ​itchat.auto_login(hotReload=True
  3. itchat.send("人生苦短,我學python",toUserName="@c4326bda513bf7cdd19f1fa03dbf7e7bc3bbc57e5abb71fd580b2c3c32cddd99"

itchat.send()這個函數可以放兩個參數,第一個你要發送給好友的信息,第二個指定好友也就是toUserName=上面所說的唯一身份標識UserName但是上面方法我覺得還是有點不妥,然后我就改進了一下

  1. import itchat 
  2. ​itchat.auto_login(hotReload=True)friends = itchat.get_friends()nickName = '你禿我不禿' 
  3. for i in friends: 
  4.     if '你禿我不禿' == i['NickName']: 
  5.         itchat.send('人生苦短,我學python', toUserName=i['UserName']) 
  6.         break 

這樣我就可以發信息給任意好友,通過好友的昵稱哎好友列表中進行查找,找到的話我就獲取該好友的UserName然后發送消息,也可以通過對好友的備注名RemarkName查找,大家可以根據自己的喜好選擇

2.4 裝飾器

關于itchat這個模塊還有很多功能,小編在這里就不做過多講解了,我們只要了解消息撤回所需要的知識點就行了,然后我們進行最后一個內容,裝飾器 關于裝飾器小編這邊簡單介紹一下,裝飾器的是勇于擴展原來函數功能的一種函數,目的是再不改變原函數名的情況下給函數增加新的功能。 例如我喜安智又一個函數foo(),你并不知道函數的實現原理,你肯定也不能去修改這個函數的代碼而你需要給這個函數添加一個輸出開始運行時間和結束運行時間的功能,改如何實現,這時候你就可以用裝飾器了:

  1. import time 
  2. ​def show_time(foo): 
  3.     def inner(): 
  4.         print(time.time())        foo()        print(time.time())    return inner    
  5. @show_timedef foo():    passfoo() 

上面這段代碼的意思:首先@show_time就是使用一個裝飾器show_time,這個時候就會將裝飾器的函數,也就是foo()作為參數傳遞給裝飾器show_time(),我們知到函數作為返回值的話,執行的其實是該函數,所以程序會執行內部函數inner(),此時輸出開始運行時間,然后調用foo()函數,最后輸出結束運行時間,這樣就實現了一個功能擴展,這也是很典型的面向切面編程思想。

3,如何監聽好友撤回的信息

其實到了這里我們就已經完成了消息的監聽只需要稍加修改就好了,但是這個程序還是有一點問題的,就是所有的消息我們都需要去保存,好友正常發送過來的消息我們直接就能看到保存下來不是多此一舉嗎,我們的目的是想知道好友撤回了什么內容,這里就涉及到如何監聽好友是否撤回了信息這個問題了,其實也不難,Content模塊為我們提供了NOTE類型,這個類型指的是系統消息,所以我們可以自定義一個函數用來監聽系統消息:

  1. import itchat 
  2. from itchat.content import *  # 導入itchat下的content模塊 
  3. itchat.auto_login(hotReload=True
  4. @itchat.msg_register(NOTE) 
  5. def note_info(msg): # 監聽系統消息 
  6.     print(msg) 
  7. ​​itchat.run() 

運行程序,我們撤回一條信息測試一下,輸出的結果如下:

  1. 'DisplayName''''ChatRoomId': 0, 'KeyWord''''EncryChatRoomId''''IsOwner': 0}>, 'Type''Note''Text''你撤回了一條消息'

則例截取的部分的內容這樣會發小撤回信息的文本內容“你撤回了一條信息”,如意要想知道好友是否撤回了消息就很簡單了,判斷一下,msg['Text']=='你撤回了一條信息'就行了

4, 實現微信消息撤回捕捉功能

現在關于程序的每個步驟代碼到這里也就分析完了,接下來就是對所有的代碼進行一個總結以下就是所有代碼的總結: 

用python80行代碼實現一個微信消息撤回捕捉功能

現在我們來測試一下首先我讓我兩個朋友一人給我發了一條信息: 

用python80行代碼實現一個微信消息撤回捕捉功能

 用python80行代碼實現一個微信消息撤回捕捉功能

得到的結果: 

用python80行代碼實現一個微信消息撤回捕捉功能

 

 

責任編輯:未麗燕 來源: 今日頭條
相關推薦

2018-07-25 13:34:14

Python微信撤回

2018-07-13 16:26:46

編程語言Python微信

2017-03-17 15:10:52

微信消息撤回功能

2018-06-20 14:42:42

微信撤回的消息Python

2018-12-14 14:58:04

Python微信消息

2022-02-28 12:07:56

RxJS函數式

2018-12-04 15:10:56

Python微信備忘錄

2018-03-02 11:03:19

微信消息撤回

2022-09-30 13:55:46

Python機器人

2019-10-17 21:37:28

微信飛機大戰Python

2018-06-08 16:18:43

Python微信聊天機器人

2019-11-14 09:08:06

微信WindowsRevokeMsgPa

2017-03-28 21:03:35

代碼React.js

2022-01-26 16:30:47

代碼虛擬機Linux

2022-06-29 09:02:31

go腳本解釋器

2019-03-19 19:19:19

Facebook微信轉型

2012-12-24 13:25:59

微信App

2020-09-05 16:07:00

微信騰訊移動應用

2017-10-26 11:36:46

微信撤回消息

2022-06-28 08:17:10

JSON性能反射
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91在线视频在线观看 | 婷婷色综合| 国产精品美女在线观看 | 日本精品一区二区三区在线观看视频 | 国产专区视频 | 亚洲成人99 | 欧美一级片黄色 | 日日摸夜夜爽人人添av | 羞羞涩涩在线观看 | 91福利网址 | 精品国产乱码久久久久久闺蜜 | 亚洲精品日韩一区二区电影 | 伊人伊人 | 欧美国产精品一区二区三区 | 亚洲品质自拍视频网站 | 国产综合久久 | 欧美午夜剧场 | 欧美精品久久久 | 激情伊人网| 1区2区3区视频| 久久国产日本 | 欧美男人天堂 | 亚洲乱码国产乱码精品精的特点 | www久| 日韩成人免费视频 | 欧美一区二区视频 | 国产精品波多野结衣 | 欧美日韩手机在线观看 | 一区二区三区视频 | 中文字幕一区二区三区不卡 | 国产精品美女久久久久久不卡 | 一区二区三区视频 | 美女张开腿露出尿口 | 日韩中文字幕在线观看 | 国产视频中文字幕 | 色妞av| 亚洲电影免费 | 欧美精品啪啪 | 免费在线观看av的网站 | 精品国产伦一区二区三区观看说明 | 国内精品久久久久久久 |