定时运行bat脚本调用python获取web特定返回值

最近要对公司网站状态进行定期确认,决定自己写个小程序进行自动实现。

第一步:实现获取网页返回值

登陆网站点击到最后的获取信息的网页,通过F12获取网站的url,具体的在
网络选项
然后右边的消息头中获取get里面的url

然后在右边的响应中查看返回的信息,确认想要使用的特定返回值。

import json
import requests
import datetime

url = 'https://monitortools4.china-ipv6.cn/api/quick?domain=www.xxxx.com'  # 调用的网址

response = requests.get(url)
jsonstr = json.loads(response.text)


ipv4 = jsonstr['data']['ipv4_req']
ipv6 = jsonstr['data']['ipv6_req']

import json
import requests
import datetime

url = 'https://monitortools4.china-i...' # 调用的网址

response = requests.get(url)
jsonstr = json.loads(response.text)

ipv4 = jsonstr'data'
ipv6 = jsonstr'data'

这里在操作时遇到问题,因为这个网页返回值为字典类型嵌套字典类型,所以当电泳jsonstr时用了两个[]当时是通过挨个输入字符类型发现data、ipv4_req和ipv6_req都是字典类型。

第二步:实现将输出值写入到txt文件

经过baidu,目前常用的写入文档两种方式。
方式一:`path = '新建txt文件的路径'
f = open(path,a)
f.write(xxx)
f.close()`

path = '新建txt文件的路径'
f = open(path,a)
f.write(xxx)
f.close()
方法二:`with open(path,"a") as f:
f.write()`
根据我自己的需求,我需要先对获取的特定值进行判断然后进行相应的输出。

path = 'C:\\Users\\xxx\\Desktop\\webcheck.txt'


if ipv6==1 and ipv4==1:
    file = open(path, 'a', encoding='utf-8')
    file.write(str(datetime.datetime.now())+"\n"+'成功'+"\n")
    file.close()
else:
    file = open(path, 'a', encoding='utf-8')
    file.write(str(datetime.datetime.now())+"\n"+'失败'+"\n")
    file.close()

这里面我想实现的是输出是显示当前的时间然后换行在显示正常与否,最初datetime.datetime.now()函数没有加str进行强制类型出现了报错,加上后程序正常。
程序里面的参数a是指在txt文档里面进行追加,不会覆盖之前的内容。
在这里插入图片描述
第三步通过脚本自动运行
新建一个txt文件输入
@echo off
C:
cd C:UsersxxxDesktop
start python text.py
exit
这里说明下,text.py 是我的程序文件,路径是放在桌面的。

最后的定时执行我是通过windows自带的程序任务实现的,这个就不在进行描述。

没有进行过编码工作,第一次尝试,也是第一次写博客,请大佬勿喷。

阅读 179

推荐阅读