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

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

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

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

新建多維表格
2.3 添加Python代碼
在設(shè)置自動化流程之前,先設(shè)置腳本,點擊多維表右上角的【腳本】——【PY腳本】——【新建腳本】把下面的Python代碼放入其中,并把腳本命名為:【每日一句發(fā)送】。這段代碼利用了WPS多維表自帶的爬蟲功能,調(diào)用requests, BeautifulSoup等模塊,從網(wǎng)上獲取英語每日一句,并寫入到多維表中。由于我們這里是兩個平臺的句子,所以最后得到的是兩個英文句子及其翻譯。
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:
# 構(gòu)建數(shù)據(jù)記錄 - 使用字段名作為鍵
record_data = {"_rid":rec_id,"文本":url}
# 更新當(dāng)前記錄
update_dbt(data=record_data, sheet_name='數(shù)據(jù)表')
time.sleep(1) # 每個記錄處理完后等待0.6秒
write_sen()2.4 設(shè)置自動化流程
依次點擊WPS多維表右上角的【自動化流程】——【創(chuàng)建空白流程】——【設(shè)置觸發(fā)條件為定時觸發(fā)】

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

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

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

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

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

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

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

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

