1. 程式人生 > >1 行程式碼,實現微信訊息傳送

1 行程式碼,實現微信訊息傳送

還是接食行生鮮簽到的問題,之前我們講到,將簽到結果通過簡訊傳送到手機,但是我發現 twilio 有些不穩定,為了防止漏籤,我在伺服器上設定了兩次定時任務,通常情況下第一個收不到簡訊,第二個才會收到。

看到最近好多大神寫操作微信的文章,於是,我又想,是不是可以將訊息傳送到微信上?

微信傳送訊息有如下幾個思路:

  1. itchat 模組
  2. 使用個人公眾號
  3. 使用其他公眾號封裝好的傳送訊息的功能;

itchat

大部分人操作個人微信都是使用這個模組。

itchat 是一個開源的微信個人介面,它可以模擬網頁端的微信登陸,從而用 Python 指令碼或命令列模式來使用個人微訊號,達到推送各種通知到微信上的目的。

其實是基於網頁版微信,通過 HTTP 互動來實現微信的一些操作,被封的風險其實在於,當檢測到賬號異常時,賬號的網頁版登入許可權會被騰訊禁掉,這種情況下 itchat 就不好使了。另外,據說新申請的賬號直接沒有網頁版登入許可權了。

itchat 的使用已經有其他很多大神講了,網上也有很多教程,這裡我們不再贅述,有興趣的自行 Google,也可以後臺找我,一起來研究下~

一起來

個人公眾號介面

微信提供了豐富的公眾號介面,可以實現訊息收發、關注使用者資訊獲取等等。

BUT!大部分介面(包括髮送訊息介面)只開放給認證使用者,而個人號又無法認證,所以這條路斷了!

介面許可權

微信認證

據說以前個人是可以認證的,反正許可權的口子越來越小了。

可以先哭一會嗎

別人家的公眾號

正所謂「它山之石,可以攻玉」,此處不留爺,爺就去他處!今天的主角登場!

還好我們找到了提供收發訊息功能的公眾號 API,我們只要整合他們的介面即可。

它就是「Server醬」!

Server 醬

使用方法:

  1. 登入:用 GitHub 賬號登入網站,就能獲得一個 SCKEY(在「傳送訊息」頁面);
  2. 繫結:點選「微信推送」,掃碼關注同時即可完成繫結;

來個示意圖:

Server 醬訊息流程

程式碼示例:

>>> import requests
>>> requests.get("https://sc.ftqq.com/your-SCKEY.send?text={}&desp={}".format('測試標題','哈哈'))

微信端效果:

ServerChan 通知

是不是很簡單!1 行程式碼就搞定了微信訊息推送,再也不用其他任何複雜的步驟!

另外,顯示發現發件人是Server醬,另外點進去有推廣,畢竟是免費的介面,還要啥自行車!

還有就是傳送訊息是有一些限制的:

每人每天傳送上限 500 條,相同內容 5 分鐘內不能重複傳送,不同內容一分鐘只能傳送 30 條。主要是防止程式出錯的情況。

對於我這種需求肯定夠了。

PushBear

ServerChan 只能推送到一個微信上,若果想一對多傳送資訊,並且向自定義發件人,那麼可以使用 PushBear。

  1. 無需註冊,直接掃碼登入;
  2. 建立訊息通道,獲得訂閱二維碼;
  3. 通過 API 向關注了該二維碼的使用者推送訊息;

PushBear 可以自定義發件人資訊,通過微信登入後,建立一個通道,會生成一個 sendkey 和一個訂閱二維碼, 可以通過「訂閱訊息API」傳送微信給所有掃描過此二維碼的人。

通道設定

程式碼示例:

import requests
requests.get("https://pushbear.ftqq.com/sub?sendkey=your-sendkey&text={}&desp={}".format('pushbear', '哈哈'))

微信端效果:

PushBear 通知

發現發件人是我們自己設定的「不正經程式設計師」了!

使用限制:

推送訊息儲存 72 小時、5 分鐘內不可釋出重複訊息、普通使用者每天 1000 條上限、請勿用於傳送廣告和有害資訊。

綜上,若要完成簽到成功後的通知,我們只要使用 ServerChan 或者 PushBear 的介面封裝成傳送訊息的函式即可!

食行生鮮簽到系列也可以到此結束了,回覆【食行生鮮】可以獲取最終程式碼。

總結

也許還有其他微信的使用方法,但是 ServerChan 是我找到的最簡單的一個了,1 行程式碼搞定,簡單高效,很 pythonic

當然,作為個人傳送一些通知 ServerChan 是綽綽有餘的,但是,若是企業級的應用還是用自己的微信訂閱號來開發介面吧~

如果覺得有用,歡迎關注我的微信,一起學習,共同進步,不定期推出贈書活動~

你的關注是對我最大的鼓勵!

最近蒐集到慕課網視訊,視訊內容涵蓋 Python、Java、PHP、前端、小程式、演算法、架構、資料庫等等!關注本公眾號,後臺回覆「慕課網」即可獲取下載地址。