十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
小编这次要给大家分享的是Python如何实现疫情通定时自动填写功能,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
站在用户的角度思考问题,与客户深入沟通,找到曲水网站设计与曲水网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广、申请域名、虚拟主机、企业邮箱。业务覆盖曲水地区。自疫情始,学校就要求学生每天在学校内系统填写个人每日疫情相关情况,称为疫情通。
但是,由于个人原因,出现了下图情况。
记性太差,人又懒,于是决定用Python实现自动化定时任务。
1、核心模块
打开IEChrome。
打开网页按下F12拿到请求头和请求体。
(假装此处有图片)
Pycharm启动!
根据拿到的请求头和请求体,完成核心代码编写。
url = "https://xxcapp.xidian.edu.cn/ncov/wap/default/save" headers = {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Language': 'zh-cn', 'Accept-Encoding': 'gzip, deflate, br', 'Host': 'xxcapp.xidian.edu.cn', 'Origin': 'https://xxcapp.xidian.edu.cn', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) ' 'Version/13.1 Safari/605.1.15', 'Connection': 'keep-alive', 'Referer': 'https://xxcapp.xidian.edu.cn/ncov/wap/default/index', 'Content-Length': '2314', # Cookie是身份标识 'Cookie': 'Hm_lpvt_48b682d5d22a90111e44886b972e3268=1590108209; ' # Hm_lpvt_xxxxxxx 为当前时间戳(秒) # Hm_lvt_xxx 为一串时间戳。最近的一次访问时间戳追加在后面,最多保留4个时间戳。可以通过关闭浏览器然后再访问相同页面查看其cookie值来验证。 'Hm_lvt_48b682a90111e46b9d4885d2272e3268=1590108209; UUkey=99cf86f295b522e264680402bf6b221e; ' 'Uqn3iPIDZBpD3wJU=vqtbQwSD1sjDM; eai-sess=prshbd3vo96po8i27a4mod1i67', 'X-Requested-With': 'XMLHttpRequest', } data = { 'uid': '123671', 'date': str(datetime.date.today() - datetime.timedelta(days=1)).replace("-", ""), 'tw': '3', # 体温:第三项,36.5-36.9 'sfcxtz': '0', # 是否出现 'sfyyjc': '0', # 是否医院检查 'jcjgqr': '0', # 检查结果确认 'sfjcbh': '0', # 是否接触病患 'sfcxzysx': '0', # 是否出现 'address': '', 'area': '', 'province': '', # 地址 'city': '', # 城市 # 伽利略定位系统详情 'geo_api_info': '{"type":"complete","position":{"P":11.203296169705,"O":11.667691514757,"lng":11.667692,' '"lat":11.203296},"location_type":"html5","message":"Get ipLocation failed.Get geolocation ' 'success.Convert Success.Get address success.","accuracy":15,"isConverted":true,"status":1,' '"addressComponent":{"citycode":"0001","adcode":"123456","businessAreas":[],' '"neighborhoodType":"","neighborhood":"","building":"","buildingType":"","street":"",' '"streetNumber":"","province":"","city":"","district":"","township":""},' '"formattedAddress":"","roads":[],"crosses":[],"pois":[],' '"info":"SUCCESS"}', 'created': str(int(time.time())), # 创建时间 'sfzx': '0', # 是否在校 否 'sfjcwhry': '0', # 是否接触武汉人员 否 'sfcyglq': '0', # 是否处于隔离期 否 'sftjwh': '0', # 是否途径武汉 否 'sftjhb': '0', # 是否途径湖北 否 'fjsj': '0', 'sfjchbry': '0', # 是否接触湖北人员 否 'sfsfbh': '0', # 是否 'jhfjsftjwh': '0', # *****是否途径武汉 否 'jhfjsftjhb': '0', # *****是否途径湖北 否 'szsqsfybl': '0', 'sfygtjzzfj': '0', # 是否 'sfjcjwry': '0', # 是否接触境外人员 否 'id': '4393912', 'ismoved': '0', # 与上次地点是否有不同 } requests.post(url=url, data=data, headers=headers)