十行代碼實現爬蟲和手機間通信

前言:

假設有這樣一種情況,爬蟲在家中的電腦上運行,人在外面。如果我們想隨時瞭解爬蟲運行的狀態,那我們需要在爬蟲和手機之間實現通信。如何實現,這裏介紹一個python的第三方庫itchat。itchat是一個開源的微信個人號接口,可以模擬微信的網頁登錄,而且操作非常簡單。

一、基本思路:

用itchat在PC端模擬微信網頁登錄,然後可以定時的,或者在異常出現的時候將爬蟲狀態信息通過微信發給手機端的自己。或者也可以在收到指定消息的時候做出相應回覆。

二、itchat介紹:

安裝:直接   pip install itchat

發消息:

import itchat

itchat.auto_login()   #登錄,會彈出一個二維碼,手機掃碼登錄
itchat.send(msg='Hello',toUserName=username) #給某人發消息’Hello‘,如果去掉後面的toUserName則表示給自己發消息
#上面的username不是用戶的暱稱或備註,而是一串id代碼,需要通過查找,再獲取
friend = find_friend('小明')   #查找暱稱小明的用戶
username = friend['UserName'] #獲得小明的username
itchat.send(msg='Hello',toUserName=username)  #給小明發消息
itchat.logout()  #退出登錄

回覆消息:

import itchat

@itchat.msg_register(itchat.content.TEXT)  #如果接收到文本信息,則運行下面定義的函數
def auto_reply(msg): #msg 即收到的消息體
    print(msg.text)  #打印收到的消息文本
    return '收到消息' #回覆‘收到消息’

itchat.auto_login()  #登錄
itchat.run()  #開啓自動回覆,程序運行到這裏會保持等待

三、舉個例子:

如果我們希望爬蟲運行遇到異常時,把異常發送到手機端 。

import itchat

if __name__=='__main__':
    itchat.auto_login()
    try:    #運行爬蟲
        spider()
    except Exception as e:   #出現異常
        itchat.send(e)       #發送異常

 如有錯誤,望指正。

更多itchat詳細內容可以查看itchat文檔

 

歡迎關注本人公衆號,更多爬蟲案例持續更新中! 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章