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