在深圳地铁延误、临停n次之后
总算让我不得不又new了一个py文件
这次首要记录的是一个延误告警的开发过程
一、完成逻辑
运用库:requests,time,zmail,re
完成逻辑:
1、抓取深圳地铁微博的文章
2、判断是否有延误相关的内容
3、判断时刻是否是今日
4、告诉方法:邮件
5、守时履行使命
二、抓取深圳地铁微博(一中1~3)
def goout_report():
url ="https://weibo.com/ajax/statuses/mymblog"
# url ="https://weibo.com/szmcservice/statuses/mymblog"
data = {"uid":2311331195,"page":1,"feature":0}
headers={
"accept":"application/json, text/plain, */*",
"accept-encoding":"gzip, deflate, br",
"accept-language":"zh-CN,zh;q=0.9",
"referer":"https://weibo.com/szmcservice?tabtype=feed",
"cookie":"SUB=_2AkMV8LtUf8NxqwJRmf8XzmLgaY9wywjEieKjrEqPJRMxHRl-yT92ql0ctRB6PnCVuU8iqV308mSwZuO-G9gDVwYDBUdc; SUBP=0033WrSXqPxfM72-Ws9jqgMF55529P9D9WFpwsXV4nqgkyH.bEVfx-Xw; login_sid_t=c6bbe5dc58bf01c49b0209c29fadc800; cross_origin_proto=SSL; _s_tentry=passport.weibo.com; Apache=4724569630281.133.1655452763512; SINAGLOBAL=4724569630281.133.1655452763512; ULV=1655452763517:1:1:1:4724569630281.133.1655452763512:; wb_view_log=1920*10801; XSRF-TOKEN=1YMvL3PsAm21Y3udZWs5LeX3; WBPSESS=xvhb-0KtQV-0lVspmRtycws5Su8i9HTZ6dAejg6GXKXDqr8m6IkGO6gdtA5nN5IMNb5JZ1up7qJoFXFyoP2RSQSYXHY1uLzykpOFENQ07VthB0G9WHKwRCMWdaof42zB4mOkdTEeX_N9-m1x6Cpm3pmPsC1YhmTwqH8RGwXmYkI=",
"referer":"https://weibo.com/szmcservice",
"x-requested-with": "XMLHttpRequest",
"x-xsrf-token":"1YMvL3PsAm21Y3udZWs5LeX3",
"sec-ch-ua":'Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102',
"sec-ch-ua-platform":"Windows",
"sec-fetch-dest": "empty",
}
text = requests.get(url,headers=headers,params=data,verify=False).json()['data']['list']
today_date = time.ctime()[:10]
for i in range(1,5):
time_post = text[i]['created_at'][:10]
content = str(text[i]).split("'text': '")[1].split(", 'textLength'")[0]
tp=""
if '延误' in content and time_post == today_date:
# mail(content)
text = re.findall(">(.*?)<|>(.*?)\\",content)
for i in text:
for j in i:
if j!="":
tp=tp+j
mail(tp)
break
else:
continue
三、邮件告诉,代码如下
def mail(content):
mail = {
'subject': '别墨迹了!地铁又双叒叕延误啦', #邮件标题
'content_text': content, # 邮件内容
}
server = zmail.server('自己的邮箱', '密码',smtp_host="smtp.qq.com",
smtp_port=465) #此处用的qq邮箱、授权码
server.send_mail('收件人邮箱', mail)
ps:需去QQ邮箱网页版-设置-账户-敞开smtp服务、获取授权码
四、守时履行使命
1、Jenkins比较适宜项目的一个守时履行,
可参阅如下:
jenkins环境:jenkins环境布置踩坑记
git环境:Mac-git环境建立
2、windows-计算机办理比较适宜脚本的履行,具体步骤如下,
-
windows键+R输入compmgmt.msc可进入计算机办理界面
-
点击上图“创立使命”后如图,
“常规”界面上输入使命名称、选项二,
这样锁屏也会自动履行脚本
-
点击“触发器”-新建进入新建触发器界面
这个界面可设置使命履行时刻、履行频率、使命重复距离、延迟时刻等等
-
点击“操作”-新建跳到如图-新建操作界面
这个界面可在“程序或脚本”输入框设置脚本运转程序,比方python.exe
在“增加参数”输入框设置需要运转脚本途径(包含脚本名)
在“起始于”输入框设置脚本履行途径(一般可为脚本目录)
-
其他选项卡也可以看看,
全部填写完可以点击“创立使命”界面上的“确认”按钮,
然后在列表中找到新建的使命点击可查看,
-
实时履行测试的话可以点击上图“运转”按钮
或许右击使命-运转即可
使命履行成果如下: