Skip to content

Instantly share code, notes, and snippets.

@frankli0324
Last active June 30, 2020 03:47
Show Gist options
  • Save frankli0324/d335785bd2b95c8e56ff603e7303dc64 to your computer and use it in GitHub Desktop.
Save frankli0324/d335785bd2b95c8e56ff603e7303dc64 to your computer and use it in GitHub Desktop.
经时间验证(两周)的填报脚本
'''
如果无法定位可以将第19行改成
loc = {
'lat': 纬度,
'lng': 经度,
}
'''
import requests
import json
import re
ses = requests.session()
ses.post('https://xxcapp.xidian.edu.cn/uc/wap/login/check', data={
'username': 'ehall用户名',
'password': 'ehall密码'
})
submit = json.loads(re.findall(r'var def = (.*);', ses.get(
'https://xxcapp.xidian.edu.cn/ncov/wap/default'
).text)[0])
submit['mjry'] = '0'
submit['csmjry'] = '0'
submit['zgfxdq'] = '0'
loc = json.loads(requests.get('https://webapi.amap.com/maps/ipLocation', params={
'key': '729923f88542d91590470f613adb27b5',
'callback': 'jsonp_219982_',
'platform': 'JS',
'logversion': '2.0',
'appname': 'https://xxcapp.xidian.edu.cn/ncov/wap/default',
'sdkversion': '1.4.4'
}).text[14:-2])
detail = requests.get('https://restapi.amap.com/v3/geocode/regeo', params={
'key': '729923f88542d91590470f613adb27b5',
's': 'rsv3',
'location': ','.join([loc['lng'], loc['lat']]),
'extensions': 'base',
'logversion': '2.0',
'appname': 'https://xxcapp.xidian.edu.cn/ncov/wap/default',
'sdkversion': '1.4.4'
}).json()
loc = {"P": float(loc['lat']), "O": float(loc['lng']),
"lng": float(loc['lng']), "lat": float(loc['lat'])}
geo_info = {
"type": "complete",
"position": loc,
"location_type": "html5",
"message": "Get geolocation success.Convert Success.Get address success.",
"accuracy": 40,
"isConverted": True,
"status": 1,
"addressComponent": detail['regeocode']['addressComponent'],
"formattedAddress": detail['regeocode']['formatted_address'],
"roads": [], "crosses": [], "pois": [], "info": "SUCCESS"
}
submit.update({
"address": detail['regeocode']['formatted_address'],
"area": ' '.join([detail['regeocode']['addressComponent'][i] for i in ['province', 'city', 'district']]),
"province": detail['regeocode']['addressComponent']['province'],
"city": detail['regeocode']['addressComponent']['city'],
"geo_api_info": json.dumps(geo_info)
})
print(ses.post('https://xxcapp.xidian.edu.cn/ncov/wap/default/save', data=submit).text)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment