从网站中分析出来js代码执行的部分,然后我们将其提取出来,这个扣取过程教之前更加复杂 , 最后使用的是execjs执行js代码
第一步:熟悉需求
目标网站:unicom_trip.133.cn/city/?syste…
需要的数据的部分
第二步:找到异步加载的接口,分析接口数据
我们看到数据展示到了页面上,我们来找xhr请求
应该就是从这LXA?date=20220303&type=arr
请求中获取的数据,我们首先分析有没有加密参数,发现并没有,可以直接请求到拿到数据
当我们看数据的时候,发现数据部分是一串字符串
这里有个技巧可以注意一下:
eyJpdiI6IlJQSmczT0hzVXo1ejE5M3IrbnZmbkE9PSIsInZhbHVlIjoiTGJBZFU0V1BtV0R2MlwvMEltRmtpNmc0XC9tN3RCQ1wvT3BkY2hCXC9CdTVKSnBVQzU1Vno2NjRiZ1NVTEVndlZoSVwvN1NCb3hITTlHbXU4UlZuekNlMndWVWN6endNcHJPNGV6ZVVzY1BXOXlJVHdTV0JmK0JldVlkZWVRWFBvS2ZpT0l0QTUzT2VRaHdHb09vNmlOZEM5djhuK2JNTENndXhaQjlqaVlUdERkSHFOXC8xZEFkUkRpRElGUkkxem1NK0FjNzRMT1duaFZqalwvVmltQ2JIaWdsUkxDYjlaajlhTHZYOE94b3E4aDNlRk1WXC8zbDN6KzhUYVwvOUZ4U2NWTmNWc2p5Z1NHMnZoT0JTUXZBQkhMSUZTVWhWUEl4RkdROXBWR01VN3VpdGdzaXNSZ2NiWWg4WDhPb0x0bWZ5YytBSkZJTFJwYUIxNjFUMG03T3BkRHdiZnhSUVNlcDREdzFmSWxmUU1oejFwM25HT2V1blBwS0JCREJrZlFBU1wvaU1PSnREa25hRFl6eGh3SnpVdjE2NE1oSVwvUVwvVDlqQmtVTm5QMTNReWRFT1pCdGlJOHhyWkhNYTdZb1NSVHpBTmVWR21RMUdoS3FtbVgxZGZZS0JBbHFFcTlIb29aaHBhNnhjem44bU1CZlwvcjcrNmdlQVBcL2RuS2xXdG96OVlkcDJWdGQzVkppZlVQQlR6M2pWRTVOM0JQZFFxS0kraWZvdjh5czZQNjBBQkZcL1FaTkhjUkNqS0xIcFwvRjZxNFF6ZEMyWVpGdUh5bStWMUpWT3NBYXJjdmdqWlRtUFNhbys3cDdyRUhMTWVpblFpSkNVejhcL2VGMnFHMEFYTmhmMWdkUEdnSlNXdGtHM3B6clNMMFlMdFlwUFBEWHIwY1dDdUVEaGhHSDhmNFp1YTRZNWQ4eHZLZXlCWHNBV1VqSFZ2TzJhK0RtWGhGQ3AyTmxPZ1UxZkhONlZMR3hEeDkwZTRvM051TVExUVN0OUdYSzVQRzNZU211NE5QUzdpNDdcLzJrcG9CNk9TR0REZEtcL1dBNGI2ZG83R0h6RTJ0ajBKWUNFRXpKdUErMTRlTEk2anJwaHVlMVwvYmFcLzRvM0VjcUt1VnppNUNYTEd1a2FzTGpvck0zYVFPeEJRMXRtK0xHcFljVGM1TDlzTW5xRDduQU9EMDBTSDhPR3NHVmpSNDhsMTc5N1lkMGRSMWdOVzVoYk1TekxjU1VDVGJ4SXRnWnNpR25tVU9QZWlZV1ZLM1ZyOFZPd0hFYUVNY3JrUXEydGJjQlBPb2w0WHdUMTJBNGxidWkxUnV6dVBpT3NLeGFrQjBcL3hrb1dvTWdIM1YyNGpZem1vN3VTZ3o1ejQ2OTFHZ0piTzNvRkJxYjk0QW9nRnR3N3lSTUlad0RLRWx4WVJacEZGcE1hSTFpZUdKcnhKUDVkSUlaVVFzWU95cHlucExSQm5DVVZobmUzV21UaHY2SXl0N1VyQVZMQVVCZmJyTlZ2Y0trNkJnc2VcL2NJWTh5MDJNa01KWlRhODN6YzhXdFl6eWFYdG5vVWxVc2xPVXZkSVwvNGVxWVdraEdibUEwMW9PQzNXeGF1NmkrRWljYUlNNmZvZThWNVBFSm5rY2FHd1NlNkFxZFd6cjZpSzhLbEg5SGo5UVFibGkrQlwvM29WS3RYRjJsaklDRlAwS3lDWFNxRTZTcndNOUl1YTcwYVgwQTVCclpcL1BCbEpRSFNUeVdLejluaDdUajJVMnlUdjczWjhibmNzVG1WR1R1Y2V6U202T2d4YzgyWTBoZkdPc0ZnaGFBdU1XellzeUNBK09UT1wvckVPVnZ3RXBmYmFrbHY4WkQ3dU1RYnc2OThEQTl3cU1ERWM2UmdheUwyc2JcL1AwRFFadVV0QW1yZWdVU0tRVTg1QWdKTlpiY3l1QlZWajE5NXVrMDZ6eWdhS3FwWTFJd1ZUWDkyYURIZEJQdkhuejNwbVNMUjlyWWtSaE5xV0p3UGNmZ0xETWJGNUxzZ05yZFdQcTVEQzVFN1M2R0RVMkdzQ2xuMDM2b0tMSXgyVHRUb0xDa1Mxdlk3RzJxcldzMWFlR0FIcmozSUloXC8wdTNMdmVsSjRrZFh2VFhud21DNzNnV2s0bUhoRWZLWGFOc1d0ZDZMajAyNEREcEtqb0FDUWtnb2tsN0JcLzhsYnFhNURzT09Lc3JqMDZVWVVMTWR3a3ZraFF0V1JLbFlvKzViOUVVZHVVZE5pcUEzMmZaTWIwYXA2SUFxcDl3UkowMWxDOTFDYWpPeFJtMUdDeUVxNWUzZjNqZG0rOEdaUEcxcnZDQWdNQTBBUnU3c3FYM3U5WVV5NU8wQWZZWDNoWFgxTmVCekR1WVdNaUxwSW9ZaCtONVZRT0o1aVQ4S3hhaHpuM2l0c3JnSXh4NnR4dkZtNUJGbStsczN0QnN0b2RcL09rVDJvYzBSV09LUzhYdUpsdCt2QlJcL0tPSTBUYW15am5jYk91RDFKa0xQRHRGNjZJZjRHcDQ0bjJYXC80Q1FpSkQ3djBtSnVNTXZiamVTUzZOejlmeFdiN0V5RHNpKzY3ZFExQWttVmx3TEtUbGo2ZEU3MFFuV1pyRWo3S21yUUJZdENqNEFXb0diMGRCeGM0VnNHcXh0OUlLV0tMSzFyZStZdlRpa05nUFFNYnlLOHJQRGJvZTdpZDdxa0YyNlhjY0UrOWtKb1VISldjYnZnYmpMNnNZOEVrMEM2TFJJMGpxOEtPN2dKNDNtN2ptWnhROVlXVGJvdUNqV3dkS2lZM24xdGFBK09JMzFsc3hBU0tES1ZLVmFqb1lkMTVhTXRIOVFuVnFxQkFGRU1mZHFudGMreXNEWVFYMTByd2szeWJ1M1ZWWDdYTG5YNThNMmNnM21VQlZlUW9lXC9LNHB6ZlpLR2tzTHh5amdkd1R2K0pOVHQyUGYxQngwOEowRHdtZERyN0pUOHhHQktcL2czR1NnVkdXNXlSNzB4VnM4QmhnYUhkZjM4YU1jUGpBRWdjVEIwR0ZkUWVPQmtvREw5cHdrVWVnWjYrY09GOHBmTWQ0Q05rNXAyZUV1dXd1ZGxwU1psenRmQTFneXIzS2lHXC9UNFE3RHAwV2pqQ2daUHZVczJLVUt5NHlRd3lIendWdE1xMkVQemxwMXViUFJ1a1cyUlwvQSsrNkZIdk42SGlGMFwvM2UyRDNUckNYWXJkSFZTcGp5bHBaRG5hZmNjeWJQTlwvM21vS1wvT3V6TGdaQjBsNFdHZERVNEd2cjlnRzBLeXdZaXNVaGRPbXJZR2w0dUh1cjJMNnFlcDlRaFFRN1orRitoTGVoUUs3MUxjSU1md1hFT1VWMGZRYlozczZ2b0lJQUhWZFlqUjJFQTBQUDZGQ2w0YVQyWEhuaW1sZ3l1K1dNUXdmbTFJREJsNU9lTXNwWkU5UWoiLCJtYWMiOiI1NTQ4ZWU0MjAwYTQyYTJjNDAyZThlOTg3ZjE4OTdiOGM2MjQyZmJmNTRmNGVhNGQ2YzkxNGY1NTQzMjQ4Nzg1In0= 复制代码
数据是通过
=
或者==
结尾的一般都是base64的加密方式我们使用网页的base64对数据解析试试
{"iv":"RPJg3OHsUz5z193r+nvfnA==","value":"LbAdU4WPmWDv2\/0ImFki6g4\/m7tBC\/OpdchB\/Bu5JJpUC55Vz664bgSULEgvVhI\/7SBoxHM9Gmu8RVnzCe2wVUczzwMprO4ezeUscPW9yITwSWBf+BeuYdeeQXPoKfiOItA53OeQhwGoOo6iNdC9v8n+bMLCguxZB9jiYTtDdHqN\/1dAdRDiDIFRI1zmM+Ac74LOWnhVjj\/VimCbHiglRLCb9Zj9aLvX8Oxoq8h3eFMV\/3l3z+8Ta\/9FxScVNcVsjygSG2vhOBSQvABHLIFSUhVPIxFGQ9pVGMU7uitgsisRgcbYh8X8OoLtmfyc+AJFILRpaB161T0m7OpdDwbfxRQSep4Dw1fIlfQMhz1p3nGOeunPpKBBDBkfQAS\/iMOJtDknaDYzxhwJzUv164MhI\/Q\/T9jBkUNnP13QydEOZBtiI8xrZHMa7YoSRTzANeVGmQ1GhKqmmX1dfYKBAlqEq9HooZhpa6xczn8mMBf\/r7+6geAP\/dnKlWtoz9Ydp2Vtd3VJifUPBTz3jVE5N3BPdQqKI+ifov8ys6P60ABF\/QZNHcRCjKLHp\/F6q4QzdC2YZFuHym+V1JVOsAarcvgjZTmPSao+7p7rEHLMeinQiJCUz8\/eF2qG0AXNhf1gdPGgJSWtkG3pzrSL0YLtYpPPDXr0cWCuEDhhGH8f4Zua4Y5d8xvKeyBXsAWUjHVvO2a+DmXhFCp2NlOgU1fHN6VLGxDx90e4o3NuMQ1QSt9GXK5PG3YSmu4NPS7i47\/2kpoB6OSGDDdK\/WA4b6do7GHzE2tj0JYCEEzJuA+14eLI6jrphue1\/ba\/4o3EcqKuVzi5CXLGukasLjorM3aQOxBQ1tm+LGpYcTc5L9sMnqD7nAOD00SH8OGsGVjR48l1797Yd0dR1gNW5hbMSzLcSUCTbxItgZsiGnmUOPeiYWVK3Vr8VOwHEaEMcrkQq2tbcBPOol4XwT12A4lbui1RuzuPiOsKxakB0\/xkoWoMgH3V24jYzmo7uSgz5z4691GgJbO3oFBqb94AogFtw7yRMIZwDKElxYRZpFFpMaI1ieGJrxJP5dIIZUQsYOypynpLRBnCUVhne3WmThv6Iyt7UrAVLAUBfbrNVvcKk6Bgse\/cIY8y02MkMJZTa83zc8WtYzyaXtnoUlUslOUvdI\/4eqYWkhGbmA01oOC3Wxau6i+EicaIM6foe8V5PEJnkcaGwSe6AqdWzr6iK8KlH9Hj9QQbli+B\/3oVKtXF2ljICFP0KyCXSqE6SrwM9Iua70aX0A5BrZ\/PBlJQHSTyWKz9nh7Tj2U2yTv73Z8bncsTmVGTucezSm6Ogxc82Y0hfGOsFghaAuMWzYsyCA+OTO\/rEOVvwEpfbaklv8ZD7uMQbw698DA9wqMDEc6RgayL2sb\/P0DQZuUtAmregUSKQU85AgJNZbcyuBVVj195uk06zygaKqpY1IwVTX92aDHdBPvHnz3pmSLR9rYkRhNqWJwPcfgLDMbF5LsgNrdWPq5DC5E7S6GDU2GsCln036oKLIx2TtToLCkS1vY7G2qrWs1aeGAHrj3IIh\/0u3LvelJ4kdXvTXnwmC73gWk4mHhEfKXaNsWtd6Lj024DDpKjoACQkgokl7B\/8lbqa5DsOOKsrj06UYULMdwkvkhQtWRKlYo+5b9EUduUdNiqA32fZMb0ap6IAqp9wRJ01lC91CajOxRm1GCyEq5e3f3jdm+8GZPG1rvCAgMA0ARu7sqX3u9YUy5O0AfYX3hXX1NeBzDuYWMiLpIoYh+N5VQOJ5iT8Kxahzn3itsrgIxx6txvFm5BFm+ls3tBstod\/OkT2oc0RWOKS8XuJlt+vBR\/KOI0TamyjncbOuD1JkLPDtF66If4Gp44n2X\/4CQiJD7v0mJuMMvbjeSS6Nz9fxWb7EyDsi+67dQ1AkmVlwLKTlj6dE70QnWZrEj7KmrQBYtCj4AWoGb0dBxc4VsGqxt9IKWKLK1re+YvTikNgPQMbyK8rPDboe7id7qkF26XccE+9kJoUHJWcbvgbjL6sY8Ek0C6LRI0jq8KO7gJ43m7jmZxQ9YWTbouCjWwdKiY3n1taA+OI31lsxASKDKVKVajoYd15aMtH9QnVqqBAFEMfdqntc+ysDYQX10rwk3ybu3VVX7XLnX58M2cg3mUBVeQoe\/K4pzfZKGksLxyjgdwTv+JNTt2Pf1Bx08J0DwmdDr7JT8xGBK\/g3GSgVGW5yR70xVs8BhgaHdf38aMcPjAEgcTB0GFdQeOBkoDL9pwkUegZ6+cOF8pfMd4CNk5p2eEuuwudlpSZlztfA1gyr3KiG\/T4Q7Dp0WjjCgZPvUs2KUKy4yQwyHzwVtMq2EPzlp1ubPRukW2R\/A++6FHvN6HiF0\/3e2D3TrCXYrdHVSpjylpZDnafccybPN\/3moK\/OuzLgZB0l4WGdDU4Gvr9gG0KywYisUhdOmrYGl4uHur2L6qep9QhQQ7Z+F+hLehQK71LcIMfwXEOUV0fQbZ3s6voIIAHVdYjR2EA0PP6FCl4aT2XHnimlgyu+WMQwfm1IDBl5OeMspZE9Qj","mac":"5548ee4200a42a2c402e8e987f1897b8c6242fbf54f4ea4d6c914f5543248785"} 复制代码
我们可以得到的结论就是,数据被加密了,前端从后端获取到数据后,通过js进行了解密,将数据提取出来放到了页面上,分析js吧
第三步:我们要找到解密js部分
3.1 搜索
我们解析了base64的字符,这样我们有两种选择,我们可以使用技巧,搜索JSON.parse
或者直接按照键mac
进行搜索
通过json.parse进行搜索,数量太多
我们换mac键试试
3.2 分析js
有个技巧就是:我们搜索到的多个匹配项,我们直觉过滤,然后我们在不能分辨的上面打上断点,刷新页面,看是否经过那个接口,经过,看看和我们的数据是不是相同的,可以快速的选择出我们要找的变量
我们在可疑的地方打上断点
3.3 打上断点,刷新页面调试
详细调试过程上个教程中有,这个部分直接查找进行使用
刷新运行,在第一个断点处,我们发现城市码和城市名称对应的字典,这个对我们后续的数据获取有帮助
在控制台中我们可以获取到cityList
,数据太多仅作部分数据的展示
{"999":{"city_code":"999","city_name":"无法区分"},"V0152900":{"city_code":"V0152900","city_name":"阿盟"},"V0152200":{"city_code":"V0152200","city_name":"兴安盟"},"V0150400":{"city_code":"V0150400","city_name":"赤峰"},"V0150100":{"city_code":"V0150100","city_name":"呼和浩特"},"V0152302":{"city_code":"V0152302","city_name":"呼伦贝尔"},"V0152700":{"city_code":"V0152700","city_name":"鄂尔多斯"},"V0152500":{"city_code":"V0152500","city_name":"锡林郭勒"},"V0152800":{"city_code":"V0152800","city_name":"巴彦淖尔"},"V0152600":{"city_code":"V0152600","city_name":"乌兰察布"},...`剩余数据略`}
复制代码
我们跳过第一个断点进入第二个断点,我们发现这个地方就是我们要找的js数据解析的部分
经过在控制台测试,我们可以发现,数据就是通过这个部分解析的,所以接下来就是扣取js的过程了
**改写js **: 对js代码进行简单的整合,变成我们想要的格式
function dataDecode(data){
var base = new Base64();
var d = JSON.parse(base.decode(data));
var key = 'UVJgCE+OFIff3hK5BT5sPBbGZzjR6FwntjSCwOA9tUQ=';
var key1 = CryptoJS.enc.Base64.parse(key);
var iv1 = CryptoJS.enc.Base64.parse(d.iv);
var decrypted=CryptoJS.AES.decrypt(d.value,key1,{
iv : iv1,
mode : CryptoJS.mode.CBC,
padding : CryptoJS.pad.Pkcs7
});
var d = decrypted.toString(CryptoJS.enc.Utf8);
return JSON.parse(d);
}
复制代码
3.4 追查相关的js
原则:缺什么补充什么
我们可以新建一个js文件,将刚才的dataDecode函数放入其中,运行代码
# encrypt_data 可以从请求中获取
import execjs
with open("test.js","r",encoding="utf-8") as f:
str1 = f.read()
ctx = execjs.compile(str1)
a = ctx.call('dataDecode', encrypt_data)
复制代码
我们得到错误 Base64
不存在 ,寻找h方法,查找过程上个教程中有详细陈述
在网页中找到Base64,追加到我们的test.js中
function Base64() {
// private property
_keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
// public method for encoding
this.encode = function (input) {
var output = "";
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
var i = 0;
input = _utf8_encode(input);
while (i < input.length) {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output +
_keyStr.charAt(enc1) + _keyStr.charAt(enc2) +
_keyStr.charAt(enc3) + _keyStr.charAt(enc4);
}
return output;
}
// public method for decoding
this.decode = function (input) {
var output = "";
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
while (i < input.length) {
enc1 = _keyStr.indexOf(input.charAt(i++));
enc2 = _keyStr.indexOf(input.charAt(i++));
enc3 = _keyStr.indexOf(input.charAt(i++));
enc4 = _keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;
output = output + String.fromCharCode(chr1);
if (enc3 != 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3);
}
}
output = _utf8_decode(output);
return output;
}
// private method for UTF-8 encoding
_utf8_encode = function (string) {
string = string.replace(/\r\n/g,"\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
} else if((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
} else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
}
// private method for UTF-8 decoding
_utf8_decode = function (utftext) {
var string = "";
var i = 0;
var c = c1 = c2 = 0;
while ( i < utftext.length ) {
c = utftext.charCodeAt(i);
if (c < 128) {
string += String.fromCharCode(c);
i++;
} else if((c > 191) && (c < 224)) {
c2 = utftext.charCodeAt(i+1);
string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
i += 2;
} else {
c2 = utftext.charCodeAt(i+1);
c3 = utftext.charCodeAt(i+2);
string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
i += 3;
}
}
return string;
}
}
复制代码
在次运行我们的程序,我们缺失CryptoJS
在网页中进行查找,这个就比较繁琐,首先CryptoJS 是个object , 不能直接跳进去,找到相关文件了,又不知道何处终止
第一个问题,跳不进去—> 解决方式:通过后面的方法parse进入这个文件
第二个问题,不知道何时终止—> 解决方式:依据经验处理(比较抽象)
我们分析下:这个部分实际上就是将CryptoJS对象,使用工厂的方式进行封装
在最后的部分返回了CryptoJS对象
所以经过分析可得中间的所有代码都是CryptoJS对象代码(代码太长了,就不放在笔记中了,只放开始和截至位置)
我们将他放到js文件中,即可
第四步:python获取数据,结合js解密
然后我们通过执行js文件就能对我们获取到的加密数据进行解密了
city_list = {
"999": {
"city_code": "999",
"city_name": "无法区分"
},
"V0152900": {
"city_code": "V0152900",
"city_name": "阿盟"
},
"V0152200": {
"city_code": "V0152200",
"city_name": "兴安盟"
},
"V0150400": {
"city_code": "V0150400",
"city_name": "赤峰"
},
"V0150100": {
"city_code": "V0150100",
"city_name": "呼和浩特"
},
"V0152302": {
"city_code": "V0152302",
"city_name": "呼伦贝尔"
},
"V0152700": {
"city_code": "V0152700",
"city_name": "鄂尔多斯"
},
"V0152500": {
"city_code": "V0152500",
"city_name": "锡林郭勒"
},
"V0152800": {
"city_code": "V0152800",
"city_name": "巴彦淖尔"
},
"V0152600": {
"city_code": "V0152600",
"city_name": "乌兰察布"
},
"V0152301": {
"city_code": "V0152301",
"city_name": "通辽"
},
"V0150300": {
"city_code": "V0150300",
"city_name": "乌海"
},
"V0150200": {
"city_code": "V0150200",
"city_name": "包头"
},
"V0110000": {
"city_code": "V0110000",
"city_name": "北京"
},
"V0120000": {
"city_code": "V0120000",
"city_name": "天津"
},
"V0370700": {
"city_code": "V0370700",
"city_name": "潍坊"
},
"V0370100": {
"city_code": "V0370100",
"city_name": "济南"
},
"V0371000": {
"city_code": "V0371000",
"city_name": "威海"
},
"V0370200": {
"city_code": "V0370200",
"city_name": "青岛"
},
"V0370500": {
"city_code": "V0370500",
"city_name": "东营"
},
"V0372401": {
"city_code": "V0372401",
"city_name": "德州"
},
"V0370900": {
"city_code": "V0370900",
"city_name": "泰安"
},
"V0372900": {
"city_code": "V0372900",
"city_name": "菏泽"
},
"V0370600": {
"city_code": "V0370600",
"city_name": "烟台"
},
"V0372300": {
"city_code": "V0372300",
"city_name": "滨州"
},
"V0372500": {
"city_code": "V0372500",
"city_name": "聊城"
},
"V0370800": {
"city_code": "V0370800",
"city_name": "济宁"
},
"V0370300": {
"city_code": "V0370300",
"city_name": "淄博"
},
"V0372801": {
"city_code": "V0372801",
"city_name": "临沂"
},
"V0370400": {
"city_code": "V0370400",
"city_name": "枣庄"
},
"V0371100": {
"city_code": "V0371100",
"city_name": "日照"
},
"V0371200": {
"city_code": "V0371200",
"city_name": "莱芜"
},
"V0130700": {
"city_code": "V0130700",
"city_name": "张家口"
},
"V0130800": {
"city_code": "V0130800",
"city_name": "承德"
},
"V0130900": {
"city_code": "V0130900",
"city_name": "沧州"
},
"V0130200": {
"city_code": "V0130200",
"city_name": "唐山"
},
"V0130300": {
"city_code": "V0130300",
"city_name": "秦皇岛"
},
"V0130400": {
"city_code": "V0130400",
"city_name": "邯郸"
},
"V0131000": {
"city_code": "V0131000",
"city_name": "廊坊"
},
"V0130600": {
"city_code": "V0130600",
"city_name": "保定"
},
"V0130100": {
"city_code": "V0130100",
"city_name": "石家庄"
},
"V0130500": {
"city_code": "V0130500",
"city_name": "邢台"
},
"V0133000": {
"city_code": "V0133000",
"city_name": "衡水"
},
"V0142700": {
"city_code": "V0142700",
"city_name": "运城"
},
"V0142400": {
"city_code": "V0142400",
"city_name": "晋中"
},
"V0140200": {
"city_code": "V0140200",
"city_name": "大同"
},
"V0140300": {
"city_code": "V0140300",
"city_name": "阳泉"
},
"V0140400": {
"city_code": "V0140400",
"city_name": "长治"
},
"V0142300": {
"city_code": "V0142300",
"city_name": "吕梁"
},
"V0140600": {
"city_code": "V0140600",
"city_name": "朔州"
},
"V0140500": {
"city_code": "V0140500",
"city_name": "晋城"
},
"V0142600": {
"city_code": "V0142600",
"city_name": "临汾"
},
"V0140100": {
"city_code": "V0140100",
"city_name": "太原"
},
"V0142200": {
"city_code": "V0142200",
"city_name": "忻州"
},
"V0340300": {
"city_code": "V0340300",
"city_name": "蚌埠"
},
"V0340500": {
"city_code": "V0340500",
"city_name": "马鞍山"
},
"V0342500": {
"city_code": "V0342500",
"city_name": "宣城"
},
"V0342400": {
"city_code": "V0342400",
"city_name": "六安"
},
"V0343000": {
"city_code": "V0343000",
"city_name": "亳州"
},
"V0342900": {
"city_code": "V0342900",
"city_name": "池州"
},
"V0342200": {
"city_code": "V0342200",
"city_name": "宿州"
},
"V0340400": {
"city_code": "V0340400",
"city_name": "淮南"
},
"V0341000": {
"city_code": "V0341000",
"city_name": "黄山"
},
"V0340600": {
"city_code": "V0340600",
"city_name": "淮北"
},
"V0342100": {
"city_code": "V0342100",
"city_name": "阜阳"
},
"V0340800": {
"city_code": "V0340800",
"city_name": "安庆"
},
"V0340700": {
"city_code": "V0340700",
"city_name": "铜陵"
},
"V0340100": {
"city_code": "V0340100",
"city_name": "合肥"
},
"V0341100": {
"city_code": "V0341100",
"city_name": "滁州"
},
"V0340200": {
"city_code": "V0340200",
"city_name": "芜湖"
},
"V0310000": {
"city_code": "V0310000",
"city_name": "上海"
},
"V0320600": {
"city_code": "V0320600",
"city_name": "南通"
},
"V0321100": {
"city_code": "V0321100",
"city_name": "镇江"
},
"V0320881": {
"city_code": "V0320881",
"city_name": "宿迁"
},
"V0320800": {
"city_code": "V0320800",
"city_name": "淮安"
},
"V0320300": {
"city_code": "V0320300",
"city_name": "徐州"
},
"V0321000": {
"city_code": "V0321000",
"city_name": "扬州"
},
"V0320900": {
"city_code": "V0320900",
"city_name": "盐城"
},
"V0320700": {
"city_code": "V0320700",
"city_name": "连云港"
},
"V0321082": {
"city_code": "V0321082",
"city_name": "泰州"
},
"V0320500": {
"city_code": "V0320500",
"city_name": "苏州"
},
"V0320100": {
"city_code": "V0320100",
"city_name": "南京"
},
"V0320400": {
"city_code": "V0320400",
"city_name": "常州"
},
"V0320200": {
"city_code": "V0320200",
"city_name": "无锡"
},
"V0330500": {
"city_code": "V0330500",
"city_name": "湖州"
},
"V0332600": {
"city_code": "V0332600",
"city_name": "台州"
},
"V0330300": {
"city_code": "V0330300",
"city_name": "温州"
},
"V0330800": {
"city_code": "V0330800",
"city_name": "衢州"
},
"V0330900": {
"city_code": "V0330900",
"city_name": "舟山"
},
"V0330400": {
"city_code": "V0330400",
"city_name": "嘉兴"
},
"V0330600": {
"city_code": "V0330600",
"city_name": "绍兴"
},
"V0330200": {
"city_code": "V0330200",
"city_name": "宁波"
},
"V0330100": {
"city_code": "V0330100",
"city_name": "杭州"
},
"V0330700": {
"city_code": "V0330700",
"city_name": "金华"
},
"V0332500": {
"city_code": "V0332500",
"city_name": "丽水"
},
"V0350600": {
"city_code": "V0350600",
"city_name": "漳州"
},
"V0350200": {
"city_code": "V0350200",
"city_name": "厦门"
},
"V0350400": {
"city_code": "V0350400",
"city_name": "三明"
},
"V0352200": {
"city_code": "V0352200",
"city_name": "宁德"
},
"V0350300": {
"city_code": "V0350300",
"city_name": "莆田"
},
"V0350100": {
"city_code": "V0350100",
"city_name": "福州"
},
"V0352100": {
"city_code": "V0352100",
"city_name": "南平"
},
"V0350500": {
"city_code": "V0350500",
"city_name": "泉州"
},
"V0352600": {
"city_code": "V0352600",
"city_name": "龙岩"
},
"V04601005": {
"city_code": "V04601005",
"city_name": "定安"
},
"V04600031": {
"city_code": "V04600031",
"city_name": "东方"
},
"V04601004": {
"city_code": "V04601004",
"city_name": "万宁"
},
"V04602004": {
"city_code": "V04602004",
"city_name": "五指山"
},
"V04601007": {
"city_code": "V04601007",
"city_name": "屯昌"
},
"V04601006": {
"city_code": "V04601006",
"city_name": "澄迈"
},
"V0460003": {
"city_code": "V0460003",
"city_name": "儋州"
},
"V04602002": {
"city_code": "V04602002",
"city_name": "陵水"
},
"V04601003": {
"city_code": "V04601003",
"city_name": "文昌"
},
"V04602003": {
"city_code": "V04602003",
"city_name": "保亭"
},
"V04600034": {
"city_code": "V04600034",
"city_name": "白沙"
},
"V0460100": {
"city_code": "V0460100",
"city_name": "海口"
},
"V04602001": {
"city_code": "V04602001",
"city_name": "乐东"
},
"V04601002": {
"city_code": "V04601002",
"city_name": "琼海"
},
"V04600032": {
"city_code": "V04600032",
"city_name": "临高"
},
"V04600033": {
"city_code": "V04600033",
"city_name": "昌江"
},
"V0460200": {
"city_code": "V0460200",
"city_name": "三亚"
},
"V04601008": {
"city_code": "V04601008",
"city_name": "琼中"
},
"V0440700": {
"city_code": "V0440700",
"city_name": "江门"
},
"V0441800": {
"city_code": "V0441800",
"city_name": "清远"
},
"V0441201": {
"city_code": "V0441201",
"city_name": "肇庆"
},
"V0441900": {
"city_code": "V0441900",
"city_name": "东莞"
},
"V0441700": {
"city_code": "V0441700",
"city_name": "阳江"
},
"V0440510": {
"city_code": "V0440510",
"city_name": "汕头"
},
"V0440800": {
"city_code": "V0440800",
"city_name": "湛江"
},
"V0441500": {
"city_code": "V0441500",
"city_name": "汕尾"
},
"V0440100": {
"city_code": "V0440100",
"city_name": "广州"
},
"V0441401": {
"city_code": "V0441401",
"city_name": "梅州"
},
"V0440400": {
"city_code": "V0440400",
"city_name": "珠海"
},
"V0442000": {
"city_code": "V0442000",
"city_name": "中山"
},
"V0440600": {
"city_code": "V0440600",
"city_name": "佛山"
},
"V0441281": {
"city_code": "V0441281",
"city_name": "云浮"
},
"V0445201": {
"city_code": "V0445201",
"city_name": "揭阳"
},
"V0441300": {
"city_code": "V0441300",
"city_name": "惠州"
},
"V0440300": {
"city_code": "V0440300",
"city_name": "深圳"
},
"V0445100": {
"city_code": "V0445100",
"city_name": "潮州"
},
"V0440201": {
"city_code": "V0440201",
"city_name": "韶关"
},
"V0441600": {
"city_code": "V0441600",
"city_name": "河源"
},
"V0440901": {
"city_code": "V0440901",
"city_name": "茂名"
},
"V0453000": {
"city_code": "V0453000",
"city_name": "贺州"
},
"V0450500": {
"city_code": "V0450500",
"city_name": "北海"
},
"V0450200": {
"city_code": "V0450200",
"city_name": "柳州"
},
"V0452700": {
"city_code": "V0452700",
"city_name": "河池"
},
"V0452800": {
"city_code": "V0452800",
"city_name": "钦州"
},
"V0453200": {
"city_code": "V0453200",
"city_name": "崇左"
},
"V0452900": {
"city_code": "V0452900",
"city_name": "贵港"
},
"V0453100": {
"city_code": "V0453100",
"city_name": "来宾"
},
"V0452500": {
"city_code": "V0452500",
"city_name": "玉林"
},
"V0450300": {
"city_code": "V0450300",
"city_name": "桂林"
},
"V0450100": {
"city_code": "V0450100",
"city_name": "南宁"
},
"V0450400": {
"city_code": "V0450400",
"city_name": "梧州"
},
"V0450600": {
"city_code": "V0450600",
"city_name": "防城港"
},
"V0452600": {
"city_code": "V0452600",
"city_name": "百色"
},
"V0632300": {
"city_code": "V0632300",
"city_name": "黄南自治州"
},
"V0632200": {
"city_code": "V0632200",
"city_name": "海北自治州"
},
"V0632600": {
"city_code": "V0632600",
"city_name": "果洛自治州"
},
"V0632700": {
"city_code": "V0632700",
"city_name": "玉树自治州"
},
"V0632801": {
"city_code": "V0632801",
"city_name": "格尔木"
},
"V0630100": {
"city_code": "V0630100",
"city_name": "西宁"
},
"V0632500": {
"city_code": "V0632500",
"city_name": "海南自治州"
},
"V0632100": {
"city_code": "V0632100",
"city_name": "海东地区"
},
"V0632800": {
"city_code": "V0632800",
"city_name": "海西自治州"
},
"V0420700": {
"city_code": "V0420700",
"city_name": "鄂州"
},
"V0422401": {
"city_code": "V0422401",
"city_name": "江汉"
},
"V0422800": {
"city_code": "V0422800",
"city_name": "恩施"
},
"V0422100": {
"city_code": "V0422100",
"city_name": "黄冈"
},
"V0422300": {
"city_code": "V0422300",
"city_name": "咸宁"
},
"V0420800": {
"city_code": "V0420800",
"city_name": "荆门"
},
"V0420500": {
"city_code": "V0420500",
"city_name": "宜昌"
},
"V0422600": {
"city_code": "V0422600",
"city_name": "十堰"
},
"V0420900": {
"city_code": "V0420900",
"city_name": "孝感"
},
"V0422400": {
"city_code": "V0422400",
"city_name": "荆州"
},
"V0420681": {
"city_code": "V0420681",
"city_name": "随州"
},
"V0420600": {
"city_code": "V0420600",
"city_name": "襄阳"
},
"V0420200": {
"city_code": "V0420200",
"city_name": "黄石"
},
"V0420100": {
"city_code": "V0420100",
"city_name": "武汉"
},
"V0430600": {
"city_code": "V0430600",
"city_name": "岳阳"
},
"V0430800": {
"city_code": "V0430800",
"city_name": "张家界"
},
"V0430300": {
"city_code": "V0430300",
"city_name": "湘潭"
},
"V0430200": {
"city_code": "V0430200",
"city_name": "株洲"
},
"V0431000": {
"city_code": "V0431000",
"city_name": "郴州"
},
"V0431200": {
"city_code": "V0431200",
"city_name": "怀化"
},
"V0430100": {
"city_code": "V0430100",
"city_name": "长沙"
},
"V0430700": {
"city_code": "V0430700",
"city_name": "常德"
},
"V0430400": {
"city_code": "V0430400",
"city_name": "衡阳"
},
"V0432500": {
"city_code": "V0432500",
"city_name": "娄底"
},
"V0431100": {
"city_code": "V0431100",
"city_name": "永州"
},
"V0433100": {
"city_code": "V0433100",
"city_name": "湘西自治州"
},
"V0430900": {
"city_code": "V0430900",
"city_name": "益阳"
},
"V0430500": {
"city_code": "V0430500",
"city_name": "邵阳"
},
"V0362400": {
"city_code": "V0362400",
"city_name": "吉安"
},
"V0360100": {
"city_code": "V0360100",
"city_name": "南昌"
},
"V0360500": {
"city_code": "V0360500",
"city_name": "新余"
},
"V0362500": {
"city_code": "V0362500",
"city_name": "抚州"
},
"V0360600": {
"city_code": "V0360600",
"city_name": "鹰潭"
},
"V0360200": {
"city_code": "V0360200",
"city_name": "景德镇"
},
"V0360400": {
"city_code": "V0360400",
"city_name": "九江"
},
"V0362100": {
"city_code": "V0362100",
"city_name": "赣州"
},
"V0362233": {
"city_code": "V0362233",
"city_name": "上饶"
},
"V0362200": {
"city_code": "V0362200",
"city_name": "宜春"
},
"V0360300": {
"city_code": "V0360300",
"city_name": "萍乡"
},
"V0410800": {
"city_code": "V0410800",
"city_name": "焦作"
},
"V0412880": {
"city_code": "V0412880",
"city_name": "济源"
},
"V0412901": {
"city_code": "V0412901",
"city_name": "南阳"
},
"V0410700": {
"city_code": "V0410700",
"city_name": "新乡"
},
"V0410600": {
"city_code": "V0410600",
"city_name": "鹤壁"
},
"V0411100": {
"city_code": "V0411100",
"city_name": "漯河"
},
"V0410200": {
"city_code": "V0410200",
"city_name": "开封"
},
"V0410100": {
"city_code": "V0410100",
"city_name": "郑州"
},
"V0412801": {
"city_code": "V0412801",
"city_name": "驻马店"
},
"V0411200": {
"city_code": "V0411200",
"city_name": "三门峡"
},
"V0410400": {
"city_code": "V0410400",
"city_name": "平顶山"
},
"V0411000": {
"city_code": "V0411000",
"city_name": "许昌"
},
"V0410900": {
"city_code": "V0410900",
"city_name": "濮阳"
},
"V0413000": {
"city_code": "V0413000",
"city_name": "信阳"
},
"V0410500": {
"city_code": "V0410500",
"city_name": "安阳"
},
"V0412800": {
"city_code": "V0412800",
"city_name": "济源"
},
"V0412700": {
"city_code": "V0412700",
"city_name": "周口"
},
"V0410300": {
"city_code": "V0410300",
"city_name": "洛阳"
},
"V0412300": {
"city_code": "V0412300",
"city_name": "商丘"
},
"V0540100": {
"city_code": "V0540100",
"city_name": "拉萨"
},
"V0542100": {
"city_code": "V0542100",
"city_name": "昌都"
},
"V0542300": {
"city_code": "V0542300",
"city_name": "日喀则"
},
"V0542500": {
"city_code": "V0542500",
"city_name": "阿里"
},
"V0542600": {
"city_code": "V0542600",
"city_name": "林芝"
},
"V0542200": {
"city_code": "V0542200",
"city_name": "山南"
},
"V0542400": {
"city_code": "V0542400",
"city_name": "那曲"
},
"V0511000": {
"city_code": "V0511000",
"city_name": "内江"
},
"V0510600": {
"city_code": "V0510600",
"city_name": "德阳"
},
"V0513700": {
"city_code": "V0513700",
"city_name": "巴中"
},
"V0513800": {
"city_code": "V0513800",
"city_name": "眉山"
},
"V0510500": {
"city_code": "V0510500",
"city_name": "泸州"
},
"V0510800": {
"city_code": "V0510800",
"city_name": "广元"
},
"V0512500": {
"city_code": "V0512500",
"city_name": "宜宾"
},
"V0513200": {
"city_code": "V0513200",
"city_name": "阿坝自治州"
},
"V0513000": {
"city_code": "V0513000",
"city_name": "达州"
},
"V0511300": {
"city_code": "V0511300",
"city_name": "南充"
},
"V0510900": {
"city_code": "V0510900",
"city_name": "遂宁"
},
"V0510300": {
"city_code": "V0510300",
"city_name": "自贡"
},
"V0513900": {
"city_code": "V0513900",
"city_name": "资阳"
},
"V0513100": {
"city_code": "V0513100",
"city_name": "雅安"
},
"V0510400": {
"city_code": "V0510400",
"city_name": "攀枝花"
},
"V0513400": {
"city_code": "V0513400",
"city_name": "凉山自治州"
},
"V0510100": {
"city_code": "V0510100",
"city_name": "成都"
},
"V0511100": {
"city_code": "V0511100",
"city_name": "乐山"
},
"V0513300": {
"city_code": "V0513300",
"city_name": "甘孜自治州"
},
"V0513600": {
"city_code": "V0513600",
"city_name": "广安"
},
"V0510700": {
"city_code": "V0510700",
"city_name": "绵阳"
},
"V0500000": {
"city_code": "V0500000",
"city_name": "重庆"
},
"V0610100": {
"city_code": "V0610100",
"city_name": "西安"
},
"V0610200": {
"city_code": "V0610200",
"city_name": "铜川"
},
"V0612501": {
"city_code": "V0612501",
"city_name": "商洛"
},
"V0610400": {
"city_code": "V0610400",
"city_name": "咸阳"
},
"V0612101": {
"city_code": "V0612101",
"city_name": "渭南"
},
"V0610300": {
"city_code": "V0610300",
"city_name": "宝鸡"
},
"V0612401": {
"city_code": "V0612401",
"city_name": "安康"
},
"V0612301": {
"city_code": "V0612301",
"city_name": "汉中"
},
"V0612701": {
"city_code": "V0612701",
"city_name": "榆林"
},
"V0612601": {
"city_code": "V0612601",
"city_name": "延安"
},
"V0522200": {
"city_code": "V0522200",
"city_name": "铜仁"
},
"V0520200": {
"city_code": "V0520200",
"city_name": "六盘水"
},
"V0522500": {
"city_code": "V0522500",
"city_name": "安顺"
},
"V0522100": {
"city_code": "V0522100",
"city_name": "遵义"
},
"V0523100": {
"city_code": "V0523100",
"city_name": "黔东南州"
},
"V0520100": {
"city_code": "V0520100",
"city_name": "贵阳"
},
"V0522400": {
"city_code": "V0522400",
"city_name": "毕节"
},
"V0522900": {
"city_code": "V0522900",
"city_name": "黔西南州"
},
"V0523200": {
"city_code": "V0523200",
"city_name": "黔南州"
},
"V0532900": {
"city_code": "V0532900",
"city_name": "大理"
},
"V0533300": {
"city_code": "V0533300",
"city_name": "怒江"
},
"V0533600": {
"city_code": "V0533600",
"city_name": "普洱"
},
"V0532600": {
"city_code": "V0532600",
"city_name": "文山"
},
"V0530100": {
"city_code": "V0530100",
"city_name": "昆明"
},
"V0532800": {
"city_code": "V0532800",
"city_name": "西双版纳"
},
"V0532300": {
"city_code": "V0532300",
"city_name": "楚雄"
},
"V0533500": {
"city_code": "V0533500",
"city_name": "临沧"
},
"V0533100": {
"city_code": "V0533100",
"city_name": "德宏"
},
"V0532400": {
"city_code": "V0532400",
"city_name": "玉溪"
},
"V0532200": {
"city_code": "V0532200",
"city_name": "曲靖"
},
"V0532100": {
"city_code": "V0532100",
"city_name": "昭通"
},
"V0533000": {
"city_code": "V0533000",
"city_name": "保山"
},
"V0533400": {
"city_code": "V0533400",
"city_name": "迪庆"
},
"V0532500": {
"city_code": "V0532500",
"city_name": "红河"
},
"V0533200": {
"city_code": "V0533200",
"city_name": "丽江"
},
"V0622600": {
"city_code": "V0622600",
"city_name": "陇南"
},
"V0623000": {
"city_code": "V0623000",
"city_name": "甘南"
},
"V0620400": {
"city_code": "V0620400",
"city_name": "白银"
},
"V0620200": {
"city_code": "V0620200",
"city_name": "嘉峪关"
},
"V0620500": {
"city_code": "V0620500",
"city_name": "天水"
},
"V0620100": {
"city_code": "V0620100",
"city_name": "兰州"
},
"V0622901": {
"city_code": "V0622901",
"city_name": "临夏"
},
"V0622100": {
"city_code": "V0622100",
"city_name": "酒泉"
},
"V0622400": {
"city_code": "V0622400",
"city_name": "定西"
},
"V0622800": {
"city_code": "V0622800",
"city_name": "庆阳"
},
"V0622201": {
"city_code": "V0622201",
"city_name": "张掖"
},
"V0622300": {
"city_code": "V0622300",
"city_name": "武威"
},
"V0620300": {
"city_code": "V0620300",
"city_name": "金昌"
},
"V0622700": {
"city_code": "V0622700",
"city_name": "平凉"
},
"V0640200": {
"city_code": "V0640200",
"city_name": "石嘴山"
},
"V0640100": {
"city_code": "V0640100",
"city_name": "银川"
},
"V0642300": {
"city_code": "V0642300",
"city_name": "中卫"
},
"V0642100": {
"city_code": "V0642100",
"city_name": "吴忠"
},
"V0642200": {
"city_code": "V0642200",
"city_name": "固原"
},
"V0650100": {
"city_code": "V0650100",
"city_name": "乌鲁木齐"
},
"V0654201": {
"city_code": "V0654201",
"city_name": "塔城"
},
"V0650500": {
"city_code": "V0650500",
"city_name": "巴州"
},
"V0653201": {
"city_code": "V0653201",
"city_name": "和田"
},
"V0650200": {
"city_code": "V0650200",
"city_name": "克拉玛依"
},
"V0653101": {
"city_code": "V0653101",
"city_name": "喀什"
},
"V0654001": {
"city_code": "V0654001",
"city_name": "奎屯"
},
"V0650600": {
"city_code": "V0650600",
"city_name": "克州"
},
"V0652201": {
"city_code": "V0652201",
"city_name": "哈密"
},
"V0652901": {
"city_code": "V0652901",
"city_name": "阿克苏"
},
"V0650400": {
"city_code": "V0650400",
"city_name": "伊犁"
},
"V0652101": {
"city_code": "V0652101",
"city_name": "吐鲁番"
},
"V0652301": {
"city_code": "V0652301",
"city_name": "昌吉"
},
"V0650300": {
"city_code": "V0650300",
"city_name": "博州"
},
"V0659001": {
"city_code": "V0659001",
"city_name": "石河子"
},
"V0654301": {
"city_code": "V0654301",
"city_name": "阿勒泰"
},
"V0220300": {
"city_code": "V0220300",
"city_name": "四平"
},
"V0220400": {
"city_code": "V0220400",
"city_name": "辽源"
},
"V0220600": {
"city_code": "V0220600",
"city_name": "白山"
},
"V0220700": {
"city_code": "V0220700",
"city_name": "松原"
},
"V0220200": {
"city_code": "V0220200",
"city_name": "吉林"
},
"V0220800": {
"city_code": "V0220800",
"city_name": "白城"
},
"V0220100": {
"city_code": "V0220100",
"city_name": "长春"
},
"V0222400": {
"city_code": "V0222400",
"city_name": "延边"
},
"V0220500": {
"city_code": "V0220500",
"city_name": "通化"
},
"V0211000": {
"city_code": "V0211000",
"city_name": "辽阳"
},
"V0210800": {
"city_code": "V0210800",
"city_name": "营口"
},
"V0211100": {
"city_code": "V0211100",
"city_name": "盘锦"
},
"V0210600": {
"city_code": "V0210600",
"city_name": "丹东"
},
"V0210900": {
"city_code": "V0210900",
"city_name": "阜新"
},
"V0210400": {
"city_code": "V0210400",
"city_name": "抚顺"
},
"V0210500": {
"city_code": "V0210500",
"city_name": "本溪"
},
"V0211400": {
"city_code": "V0211400",
"city_name": "葫芦岛"
},
"V0211300": {
"city_code": "V0211300",
"city_name": "朝阳"
},
"V0210700": {
"city_code": "V0210700",
"city_name": "锦州"
},
"V0210200": {
"city_code": "V0210200",
"city_name": "大连"
},
"V0210100": {
"city_code": "V0210100",
"city_name": "沈阳"
},
"V0211200": {
"city_code": "V0211200",
"city_name": "铁岭"
},
"V0210300": {
"city_code": "V0210300",
"city_name": "鞍山"
},
"V0230100": {
"city_code": "V0230100",
"city_name": "哈尔滨"
},
"V0232700": {
"city_code": "V0232700",
"city_name": "大兴安岭"
},
"V0230800": {
"city_code": "V0230800",
"city_name": "佳木斯"
},
"V0230300": {
"city_code": "V0230300",
"city_name": "鸡西"
},
"V0230700": {
"city_code": "V0230700",
"city_name": "伊春"
},
"V0230200": {
"city_code": "V0230200",
"city_name": "齐齐哈尔"
},
"V0230500": {
"city_code": "V0230500",
"city_name": "双鸭山"
},
"V0232300": {
"city_code": "V0232300",
"city_name": "绥化"
},
"V0230400": {
"city_code": "V0230400",
"city_name": "鹤岗"
},
"V0230600": {
"city_code": "V0230600",
"city_name": "大庆"
},
"V0231000": {
"city_code": "V0231000",
"city_name": "牡丹江"
},
"V0231100": {
"city_code": "V0231100",
"city_name": "黑河"
},
"V0230900": {
"city_code": "V0230900",
"city_name": "七台河"
},
"V0131100": {
"city_code": "V0131100",
"city_name": "雄安"
}
}
import requests
cookies = {
'Hm_lvt_2f00d4ce9214f568b3bcde5567eff1bf': '1646287559',
'XSRF-TOKEN': 'eyJpdiI6IklIUTlFXC9maUg5ckxzOTlsSjRzSENnPT0iLCJ2YWx1ZSI6ImRIRktyczZJNkt6RmRhVUVNVHpJQWtiU0hTRHNpM2NQcW1JVysyOHlYbTNBK29xVVlUTWsyMTZmN2VXVnhFbW8iLCJtYWMiOiIyNDUzNGJiNTYwNGQwMGQ1ODI3NTQ2NzJkMDRjZjAzMTkwZWM5OGVjODBhNWNhZjY2MzZlZWIwY2IwM2M5ZGNmIn0%3D',
'unicomdata_session': 'eyJpdiI6ImRINEZON09ncjF6aWEzYUUxVmJ0TlE9PSIsInZhbHVlIjoiMXA1YmJ0SExUZFBXKzZ1SDNLbldDcXRMRXY5b3Z2ekVoMHJzOEprOVwvaFZPRk1TRHZjZ3hSbUE1WTBrQTdQb0EiLCJtYWMiOiI5MTljN2VkMzViNGFkZTczZmZmMzI2YzM4OTRkMjNkYmM1MzBkY2RiMTE1MjVlY2U1ZWQ4ZjdjOTBmZmM5NWU4In0%3D',
'Hm_lpvt_2f00d4ce9214f568b3bcde5567eff1bf': '1646290041',
}
headers = {
'Connection': 'keep-alive',
'Accept': 'application/json, text/plain, */*',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
'X-XSRF-TOKEN': 'eyJpdiI6IklIUTlFXC9maUg5ckxzOTlsSjRzSENnPT0iLCJ2YWx1ZSI6ImRIRktyczZJNkt6RmRhVUVNVHpJQWtiU0hTRHNpM2NQcW1JVysyOHlYbTNBK29xVVlUTWsyMTZmN2VXVnhFbW8iLCJtYWMiOiIyNDUzNGJiNTYwNGQwMGQ1ODI3NTQ2NzJkMDRjZjAzMTkwZWM5OGVjODBhNWNhZjY2MzZlZWIwY2IwM2M5ZGNmIn0=',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Dest': 'empty',
'Referer': 'https://unicom_trip.133.cn/city/?system=cjfcts',
'Accept-Language': 'zh-CN,zh;q=0.9',
}
params = (
('date', '20200302'),
('type', 'arr'),
)
response = requests.get('https://unicom_trip.133.cn/api/v1/city/flight-route/LXA', headers=headers, params=params, cookies=cookies)
# info_str = response.text
info_str = "eyJpdiI6ImxhTk5MUkZQc0lwQlh2QUN3ZUl0aXc9PSIsInZhbHVlIjoiRTMxZW9cL29iNU1ZWkpmdWVFSks3bFdoUFVcL1RIQmorZEdrK3lCZ1JJN3o5SFRWMmRJZkN2MjdocUZ4aUhEeXdsckdjXC9COFZJS2hJZ0tXUHQ5T2NMdnNxK2FuS3JjQjhHRlc2SVZOd3BiOElqSmJPb0RtZDhCRXFoQ2lWMFdTbFphY1hmUWVmeXJGWmU4R3cxOUxcL1BkeXFRVll5RDQ0cXI0V3BtSUpzZWRISVhvNjhGQVU5UzE2S3lFNWJjTnlxaXBcLzZsTWo1TzIyMnVFNWQrODVleUVlR1piV2RScnZDZHdGMllUNHVqeCtoYlFOQ2kzN2xJeTNjM3N5RkJNWFMwWit4S3hiV0VEYnRuV2NOeXhIYlwvSW5ZR01kaW5EcXpTQTc5azJUWFJCQnloQ1wvTWpYQnpqV0R4QkhsMUpyS0hqN2Jad2RSZWtFYnVxM2swMWtoSEhIUlNLbm1wS2U5VFVKZ2NBd2VKNExHUHpEeG4wVXhaQktMV0wxXC9pZXhVNm1FSE9jSTBsdE01eG1cL1FFcjBrUVFDMjBMQVhZS09FREZ0QUdnSVBETGtcL2FObFwveERyVStMa2k3Um5QN0lcL1lGZFpWSll0b21lamJwN09YMWRtRFY0TTFsYm1Ib01SUUdRUFJXMzlxbWRMRzQ5K2tNXC9uUU5ocEpUdDFkaWhCNjZibnMrbko1OW9aVTZKeDk0MFZiRTRCUUVvdHBIaE5aMWhsamhvcjZLRmtkNmVLeHhJYTJZQjZEbk5xRGdjMk13a3M5VXdYRFR0a3JiNDFGUjhyNlFvXC9HaldMZ1FjK1loQzV3a0pMRWxpYjFESThtVXBBT0FuXC9wVWJjbnJiMElFR01yXC9tQW9yVFVvM1A4MkRsTHFnOGpSQ2NlRVo2ZWlvREFJUWx6XC9hUWp4djlrcXZaRW9LbW8rNnN2WTBmZGFXTGp1TmRHYTJDUnMrVUwrcUFLTEs1TEx5WkhTWWpMTHlaN05qY2Zrd1k3NFRhQjc5Y1VHWnVSOGtcL0Vkamx1VEJzaHBcL2pLV3AxdHZoTlpBMnVFYVp2S1RMNDZ5SDNRVFwvekZHU081TWRaeVdKR1AyaDhCbVpFcGExNk1kak5oMnI3NzB3aU84ODhGcmoreU1aejFFclpTSk8zditKazdqMFlLSmJJQmF6K2ZQajFOWnoyOXJXMG1RektSY3U5elgzQjdmVDk2RzNReUtJQ2JFam9GbjlSS2JhM2NWTG4xYUpwOFNEZ1hvbTZsM20ybjNHamc2XC83R2NuRXhvT0dURTFubENzK1dMYlNRS0JDZ0VjY2c5cm9GY1VYaTlLUTY0M0tLNFwvWFFhVW9RdUFEdFhuaENVRTlhWklDNHZqbXBKNkVmSVRuK3lmdFlrSHlma3RpZXNBZFF5c3hMNTNpcjhrQTdFa3V0aGVqRjZpTWtQdGVhV0VMMkRwTGpYUmFFWldyUnpmRyszYXZqTlwvQnQ4N01iYVJLSFM4eTNiN0Q3TWlGU2owRmtBV1wvVHdDNFdsbmJWRFM3bDQzcCtzRFVNMFZ3Nmtzd3FydSswK05cLzJpK09USzByZXFvVXpVeHpkQUVkc2FBNnJiUTM4SXh4aWhGQk1NMGplXC9YeXowM2NwOHBaQmgyNEgraWliVXZmRFA5TTkwUDlWYVhLNVpzSlVxSWtEaVwva0N5bm9tOUJxV0pQREU2VzdMYkJSQXFIUW1DTFwvQk5LS2ZSNFwveXVxWTZBWmQ2K2RrNEhkYVp2VXFSVlZSZ3d2QXdGbzgxYjkyK0VkZ2VqU3NzTHgxUWcyS0djZHdGdzVvalc5bFFWYjl4dmhqdlExdUlqbVJIcjNwNGRDekR6T2x6Q1VRTnVUK1NnRXcwNjFUd3pPc1pcL3pZZzhpU1grVDhZZnprNFFxSWtaaExBenNBSHY3S1RjUjZcL2V2Rk5jMlpEV1wvaEY0dz0iLCJtYWMiOiJjMTgzOGI4YzFlYzJhZGQ5YTdhNzFhODVmN2NlMWE1ZDY4YWNjYmJkYThiMGE1MzEzYzM2YzM2MjdhODYxNWFjIn0="
import execjs
with open("test.js","r") as f:
js_str = f.read()
a = execjs.compile(js_str).call("dataDecode",info_str)
for data in a["data"]:
print("城市是:{},乘客率是:{}".format(city_list[data["source_city"]]["city_name"],data["user_percent"]))
复制代码
得到的数据如下
城市是:山南,乘客率是:25.2661%
城市是:日喀则,乘客率是:15.2754%
城市是:成都,乘客率是:12.2876%
城市是:那曲,乘客率是:11.1485%
城市是:昌都,乘客率是:11.0924%
城市是:林芝,乘客率是:10.7003%
城市是:西安,乘客率是:2.4463%
城市是:重庆,乘客率是:2.2782%
城市是:迪庆,乘客率是:1.5313%
城市是:眉山,乘客率是:0.915%
城市是:昆明,乘客率是:0.915%
城市是:绵阳,乘客率是:0.8777%
城市是:德阳,乘客率是:0.7096%
城市是:自贡,乘客率是:0.6723%
城市是:北京,乘客率是:0.6349%
城市是:咸阳,乘客率是:0.5789%
城市是:杭州,乘客率是:0.4855%
城市是:宜宾,乘客率是:0.2241%
城市是:丽江,乘客率是:0.2241%
城市是:大理,乘客率是:0.1867%
复制代码
破解完成