mca.js 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. 'use strict';
  2. var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
  3. var _area = require('./area.js');
  4. var _area2 = _interopRequireDefault(_area);
  5. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  6. /**
  7. * 民政部行政区划代码页面控制台执行
  8. * http://www.mca.gov.cn/article/sj/xzqh/2020/20201201.html
  9. * 先把 area.js 中的 area = {} 复制过去
  10. * 然后执行下面代码获得更新数据
  11. */
  12. (function () {
  13. var list = Array.from(document.querySelectorAll('tr')).map(function (el) {
  14. return [(el.children[1] ? el.children[1].innerText : '').trim(), (el.children[2] ? el.children[2].innerText : '').trim()];
  15. }).filter(function (ary) {
  16. return ary[0] && ary[0] !== '行政区划代码';
  17. });
  18. var updateList = [];
  19. var newList = [];
  20. /*const delList = [];
  21. for (const code in area.city_list) {
  22. if (!list.some(ary => ary[0] === code)) {
  23. delList.push([code, area.city_list[code]]);
  24. delete area.city_list[code];
  25. }
  26. }
  27. for (const code in area.area_list) {
  28. if (!list.some(ary => ary[0] === code)) {
  29. delList.push([code, area.area_list[code]]);
  30. delete area.area_list[code];
  31. }
  32. }*/
  33. var _iteratorNormalCompletion = true;
  34. var _didIteratorError = false;
  35. var _iteratorError = undefined;
  36. try {
  37. for (var _iterator = list[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
  38. var _step$value = _slicedToArray(_step.value, 2),
  39. code = _step$value[0],
  40. name = _step$value[1];
  41. var targetData = code.substr(2) === '0000' ? _area2.default.province_list : code.substr(4) === '00' ? _area2.default.city_list : _area2.default.area_list;
  42. if (!targetData[code]) {
  43. newList.push([code, name]);
  44. targetData[code] = name;
  45. } else if (targetData[code] !== name && !['北京市', '天津市', '上海市', '重庆市'].includes(name)) {
  46. updateList.push([code, name, targetData[code]]);
  47. targetData[code] = name;
  48. }
  49. }
  50. } catch (err) {
  51. _didIteratorError = true;
  52. _iteratorError = err;
  53. } finally {
  54. try {
  55. if (!_iteratorNormalCompletion && _iterator.return) {
  56. _iterator.return();
  57. }
  58. } finally {
  59. if (_didIteratorError) {
  60. throw _iteratorError;
  61. }
  62. }
  63. }
  64. console.log(JSON.stringify(_area2.default));
  65. console.log('\u66F4\u65B0' + updateList.length + '\u6761', updateList);
  66. console.log('\u65B0\u589E' + newList.length + '\u6761', newList);
  67. // console.log(`删除${delList.length}条`, delList);
  68. })();