Python腳本結合WPS多維表實現(xiàn)推送每日英語功能
一、問題的提出
平時英語教學過程中,經常通過公眾號給學生發(fā)送英語每日一句,讓學生每天都可以學習地道的英漢雙語句子,幫助學生鞏固英語語法,提升詞匯量,從而為四六級考試打好基礎。
到了假期,還想給學生繼續(xù)“加餐”,就想到每天發(fā)送二句英中對照的句子。為了實現(xiàn)自動化的操作,我通過WPS的多維表,設置自動化流程,調用Python代碼,每天定時在多維表中新增記錄,分別從網上下載最新的每日英語,然后通過webhook地址,把信息發(fā)送到企業(yè)微信群中。這樣,學生每天都可以學習到最新的英語句子了。
二、實現(xiàn)過程
2.1新建消息推送機器人
用電腦打開企業(yè)微信群,點擊右上角的三個點,選擇【消息推送】,再點擊【添加】可以添加微信機器人。

添加消息推送助手
再選擇【自定義消息推送】, 設置一個推送機器人圖標、名稱和簡介,并記下它的webhook地址備用。

添加企業(yè)微信推送機器人
最終的推送機器人配置如下。如果想讓所有學生接收信息,可以把這個機器人添加到學生企業(yè)微信群中,這樣每天就可以看到發(fā)送的信息了。

2.2 新建多維表
打開http://docs.wps.cn,新建多維表格,將其重命名為【每日2句推送】,并設置日期和文本兩個字段。

新建多維表格
2.3 添加Python代碼
在設置自動化流程之前,先設置腳本,點擊多維表右上角的【腳本】——【PY腳本】——【新建腳本】把下面的Python代碼放入其中,并把腳本命名為:【每日一句發(fā)送】。這段代碼利用了WPS多維表自帶的爬蟲功能,調用requests, BeautifulSoup等模塊,從網上獲取英語每日一句,并寫入到多維表中。由于我們這里是兩個平臺的句子,所以最后得到的是兩個英文句子及其翻譯。
import requests,time
from bs4 import BeautifulSoup
rec_id = Context['argv']['rec_id'][0]
# 獲取jinshan雙語句子
def jinshan():
url = 'http://open.iciba.com/dsapi/'
res = requests.get(url)
content = res.json()['content'] + res.json()['note']
return content
# 獲取haici的每日句子
def haici():
url2 = r"http://dict.cn"
resp = requests.get(url2)
soup = BeautifulSoup(resp.text, "html.parser")
htm = soup.find("div", class_="daily_sentence")
sen = htm.text.strip().split("\t\t\t")[2] # 根據(jù)實際情況拆分句子
return sen
#寫入到多維表中
def write_sen():
url = jinshan() + "\n" +haici()
if url:
# 構建數(shù)據(jù)記錄 - 使用字段名作為鍵
record_data = {"_rid":rec_id,"文本":url}
# 更新當前記錄
update_dbt(data=record_data, sheet_name='數(shù)據(jù)表')
time.sleep(1) # 每個記錄處理完后等待0.6秒
write_sen()2.4 設置自動化流程
依次點擊WPS多維表右上角的【自動化流程】——【創(chuàng)建空白流程】——【設置觸發(fā)條件為定時觸發(fā)】

設置自動化流程
這樣每天固定時間,如9:00,WPS多維表就會定時增加一條記錄,然后PY腳本【每日2句發(fā)送】就會自動執(zhí)行,爬取網上的每日英語,并寫入到多維表中。
定時觸發(fā)
定時觸發(fā)條件中設置為【每天觸發(fā)】,觸發(fā)時間和定時有效期可以自定義。

自定義觸發(fā)時間
新增記錄
選擇配置參數(shù)為當前的數(shù)據(jù)表,設置記錄內容為當前時間,這樣每天多維表會自動增加一條記錄并自動在日期字段填充當前日期。

新增記錄為當前日期
執(zhí)行PY代碼
接下來,新增時間記錄,執(zhí)行PY腳本,并傳入當前新增記錄ID,這樣代碼就可以把每日英語寫入到上一步的新增記錄里。最后還要點擊【保存并啟動】,啟用當前流程。

執(zhí)行PY代碼
2.5 設置企業(yè)微信群發(fā)流程
最后,再設置一個發(fā)送企業(yè)微信的自動化流程,把上一個流程中獲得的每日英語發(fā)送到企業(yè)微信,觸發(fā)條件為當數(shù)據(jù)表中文本字段內容不為空時。

企業(yè)微信群發(fā)
在發(fā)送企業(yè)微信群消息期間,填寫在2.1部分獲取的webhook地址,消息類型選擇為文本。

發(fā)送企業(yè)微信群聊消息
消息內容選擇第1步觸發(fā)的記錄的日期和文本。這樣就可以把【每日2句定時發(fā)送】流程中寫入的日期和文本信息同步發(fā)送出去。

設置消息內容
最后還要點擊【保存并啟動】,啟用當前流程。
2.6 效果展示
設置完成后,每天定時角發(fā)多維表【每日2句定時發(fā)送】流程,寫入最新的每日英語信息,完成后,由于文本字段不為空,就會觸發(fā)【發(fā)送企業(yè)微信】流程,這樣就實現(xiàn)了每日英語自動寫入多維表,并定時群發(fā)到各個添加信息推送機器人的群。發(fā)送的效果如下:

發(fā)送效果
三、寫在最后
本文通過設置企業(yè)推送機器人,構建多維表格,設置自動化流程,配置PY腳本,實現(xiàn)了網上每日英語自動爬取,自動寫入多維表,并群發(fā)至企業(yè)微信群的自動化功能。這一過程的特點是免費、速度快、可定時,經過測試,代碼執(zhí)行成功率高,自動化流程非常穩(wěn)定。
未來,可以繼續(xù)優(yōu)化流程,把發(fā)送的內容設置成富文本信息,還可以配置相關圖片,增加每日英語內容的豐富度和樣式的吸引力,從而更好地助力學生英語學習,提升英語學習效果,同時也解放教師,節(jié)約辦公時間,達到事半功倍的英語學習效果。
以上就是Python腳本結合WPS多維表實現(xiàn)推送每日英語功能的詳細內容,更多關于Python消息推送的資料請關注腳本之家其它相關文章!
相關文章
Python中的type與isinstance的區(qū)別詳解
本文主要介紹了Python中的type與isinstance的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04
Python 將代碼轉換為可執(zhí)行文件脫離python環(huán)境運行(步驟詳解)
這篇文章主要介紹了Python 將代碼轉換為可執(zhí)行文件脫離python環(huán)境運行(步驟詳解),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
Python簡單實現(xiàn)阿拉伯數(shù)字和羅馬數(shù)字的互相轉換功能示例
這篇文章主要介紹了Python簡單實現(xiàn)阿拉伯數(shù)字和羅馬數(shù)字的互相轉換功能,涉及Python針對字符串與列表的遍歷、運算等相關操作技巧,需要的朋友可以參考下2018-04-04
Python代碼執(zhí)行時間測量模塊timeit用法解析
這篇文章主要介紹了Python代碼執(zhí)行時間測量模塊timeit用法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07

