【内容摘要】 预警信息发布是电视播出的一项重要工作,本文介绍了如何通过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()
#堵塞线程以保持监听状态。
四.进一步的打算
如果条件允许,将来还可以做到全自动发布到电视播出、微博、微信公众号等,但前提是做好安全审核工作,一种解决方法是参照以前所有历史数据生成一个字典文件,预警信息内容如果不包含在字典文件里面就进入人工审核环节,如果包含在字典文件里面就允许进入自动发布,真正做到秒级响应发布。