小編這次要給大家分享的是Python如何實現(xiàn)疫情通定時自動填寫功能,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
站在用戶的角度思考問題,與客戶深入溝通,找到曲水網(wǎng)站設計與曲水網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋曲水地區(qū)。自疫情始,學校就要求學生每天在學校內(nèi)系統(tǒng)填寫個人每日疫情相關情況,稱為疫情通。
但是,由于個人原因,出現(xiàn)了下圖情況。
記性太差,人又懶,于是決定用Python實現(xiàn)自動化定時任務。
1、核心模塊
打開IEChrome。
打開網(wǎng)頁按下F12拿到請求頭和請求體。
(假裝此處有圖片)
Pycharm啟動!
根據(jù)拿到的請求頭和請求體,完成核心代碼編寫。
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', # 是否出現(xiàn) 'sfyyjc': '0', # 是否醫(yī)院檢查 'jcjgqr': '0', # 檢查結果確認 'sfjcbh': '0', # 是否接觸病患 'sfcxzysx': '0', # 是否出現(xiàn) 'address': '', 'area': '', 'province': '', # 地址 'city': '', # 城市 # 伽利略定位系統(tǒng)詳情 '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())), # 創(chuàng)建時間 '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)