【內容摘要】 預警信息發布是電視播出的一項重要工作,本文介紹了如何通過Python編程自動完成預警信息轉發。
【關鍵詞】 Python 預警信息 電視播出
一.前言
電視臺除了日常的電視節目播出以外,還有一項很重要的社會職能,就是預警信息發布,將上級部門發布的預警信息通過電視向社會傳播,最大限度預防和減少突發事件發生及其造成的危害,保障人民群眾生命財產安全,維護社會穩定,具有非常重要的意義。作為電視臺播出部門,如何及時、準確地將預警信息發布出去,是擺在我們面前的一道課題。
二.改進思路
以前我們的做法是,收到上級部門在群內的預警信息后,立即通過電話、短信的方式通知播控部值班人員,值班人員按照短信內容,在播控字幕機上逐字輸入,核對正確后再通過底飛游走字幕的方式將預警信息發布出去并重復播出,此方法需人工手動輸入,耗時較長易出錯。后來我們架設了一臺WEB內網服務器,建立了一套信息發布系統,透過防火墻發布出去,以后再收到預警信息后,我們就能通過手機登陸WEB服務器將信息登記,值班人員可直接復制粘貼信息編入字幕播出表發布,操作時長由過去近二十分鐘縮短到幾分鐘以內,效率大為提高。

圖1 預警信息登記界面

圖2 預警信息列表
但是也還存在一定的問題,中間環節較多,而預警信息不分白天黑夜,隨時都有可能發布,如未及時關注,極有可能造成信息滯留,能否編寫一個程序代替人工自動完成預警信息轉發過程?
具體思路是:程序常駐運行,當接受到群消息后,判斷發送者是否屬于預警信息發布用戶,如是則將消息轉發到WEB服務器。為實現這一功能,筆者采用Python語言來編寫,Python是一種跨平臺、解釋型、面向對象語言,近年來較為流行,廣泛應用于數據分析、自動化處理、人工智能等領域,并且擁有豐富的標準庫,方便程序員快速開發。
三.程序代碼實現
下面就是程序的主要實現代碼和注釋,程序中涉及到庫包含wxpy微信模塊等,可通過pip install安裝。
from wxpy import *
#導入微信庫
import requests
#導入Http庫
from urllib.parse import urlencode
r = requests.Session()
# 建立一個會話,并保持cookie
mygroup='預警信息發布'
#群名稱
mylist=['陳某','江某','馮某']
#預警信息發布用戶列表
bot = Bot(cache_path=True)
# 初始化機器人,掃碼登陸
@bot.register(Group,TEXT)
def print_group_msg(msg):
print(msg.text)
if msg.member.name in mylist and mygroup inmsg.sender.name:
#如果群名和用戶都符合條件
headers={'content-type': 'application/x-www-form-urlencoded'}
payload = {'username':'轉發助手','text':msg.text }
data_gb2312 = urlencode(payload, encoding='gb2312')
# 構造提交數據:
respond=r.post('http://219.139.*.*/add.asp',
data=data_gb2312,headers=headers)
print(respond.text.encode('iso-8859-1').decode('gbk'))
print(respond.encoding)
# 輸出響應結果
embed()
#堵塞線程以保持監聽狀態。
四.進一步的打算
如果條件允許,將來還可以做到全自動發布到電視播出、微博、微信公眾號等,但前提是做好安全審核工作,一種解決方法是參照以前所有歷史數據生成一個字典文件,預警信息內容如果不包含在字典文件里面就進入人工審核環節,如果包含在字典文件里面就允許進入自動發布,真正做到秒級響應發布。