js获取最新的省市区地址

JS+MySQL获取 京东 省市区 地区

采集了一下JD的省市区地区 (非常简单,只是做个记录)
1.建表:account_area
 
2.进入页面:
在浏览器(Firefox)控制台(Firebug)上输入:(其他浏览器的控制台也行)
复制代码
var $cr=$(".copyright");
$cr .empty();
 
function getAreas3(id){
 $.get("https://reg.jd.com/reg/area", {
      level: 2,
      parentId: id
      },
      function(msg) {
        msg = eval(msg);
        var areas = msg.Areas;
        for (var i = 0; i < areas.length; i++) {
          var id3=areas[i].Id;
          var name3=areas[i].Name;
          $cr .append("insert into account_area values(" +id3 + ",'" + name3 + "',"+id+",2);<br/>");
        }
    });
};
 
$("#companyprovince option").each(function() {
 var id=$(this).val() ;
  if(id<1){return;}
 var name=$(this).text();
    $cr .append("insert into account_area values(" +id + ",'" + name + "',-1,0);<br/>");
 
    $.get("https://reg.jd.com/reg/area", {
      level: 1,
      parentId: id
      },
      function(msg) {
        msg = eval(msg);
        var areas = msg.Areas;
        for (var i = 0; i < areas.length; i++) {
          var id2=areas[i].Id;
          var name2=areas[i].Name;
          $cr .append("insert into account_area values(" +id2 + ",'" + name2 + "',"+id+",1);<br/>");
          getAreas3(id2);
        }
    });
});
复制代码

(js代码还可以重构,但是我的目的是采集信息,而不是优化代码,而且这些代码只是控制台上临时写的,以后也不会再用。个人认为,不要为了重构而重构。)

优化后的代码是这个样子(完全没必要):

复制代码
var $cr = $(".copyright").empty();

function getAreas(id, lvl) {
    if (lvl >= 3) {
        return;
    }
    $.get("https://reg.jd.com/reg/area", {
        level: lvl,
        parentId: id
    },
    function(msg) {
        msg = eval(msg);
        var areas = msg.Areas;
        for (var i = 0; i < areas.length; i++) {
            var subId = areas[i].Id;
            var subName = areas[i].Name;
            $cr.append("insert into account_area values(" + subId + ",'" + subName + "'," + id + "," + lvl + ");<br/>");
            getAreas(subId, lvl + 1);
        }
    });
};

$("#companyprovince option").each(function() {
    var id = $(this).val();
    if (id < 1) {
        return;
    }
    var name = $(this).text();
    $cr.append("insert into account_area values(" + id + ",'" + name + "',-1,0);<br/>");
    getAreas(id, 1);
});
复制代码

 

 

3.复制insert语句,在MySQL中执行
 
 


转载地址:http://www.cnblogs.com/jesselzj/p/4843119.html

猜你喜欢

转载自blog.csdn.net/pifengyz/article/details/53885439
今日推荐