世界国家省份城市县区街道村地址邮编常用通用功能最全API - 多级联动 - 淘宝天猫阿里巴巴技术赏析...

请登录购买宝贝并到结帐页面

http://unit.buy.tmall.com/order/confirmOrder.htm

当到这个页面后,你会发现这个页面是个iframe(框架),单击右键可以轻松知道配送地址功能的界面URL

http://member1.taobao.com/member/fresh/deliver_address_frame.htm?sign=_a2_wr_qwv6w_f_rd_zu8cp_i_w_zj9_x_jms_k_g_z_y7_z_d_l0v_p_ec_v_ai_i%252F0_dd0_j_g_u4v_a%253D%253D&from=tmall&reurl=%2F%2Fbuy.tmall.com%2Forder%2FaddressProxy.htm&version=1.0.10&sign_type=TEP&tid=74126668

OK,看到这个界面,大家就可以单击右键,把淘宝的源码保存下来了

节省了自己写HTML代码的时间:

通过火狐FireBug,可以查看到类似JS文件:

http://g.tbcdn.cn/tbc/??address/1.2.1/xaddress/index-min.js?t=1432885222614.js

复制上述内容

JS格式化工具格式化JS文件内容,辅助Unicode编码转换

(如北京的Unicode编码是\u5317\u4eac),更清楚的看到很多惊喜的接口API,根据URL参数地址,相信聪明的你肯定知道其各自作用:

OK,主要JS文件就在这边

自己可以顺着这个路线具体研究淘宝地址实现逻辑了,也可以间接使用JS(省得自己写JS了)

地址多级联动API

打开火狐firebug或者IE浏览器按F12快捷键,当你在选择:中国大陆->北京->东城 时候,会发现URL

http://lsp.wuliu.taobao.com/locationservice/addr/output_address_town_array.do?l1=110000&l2=110100&l3=110101&lang=zh-S&_ksTS=1432880083437_7507&callback=jsonp7508

上述API只要接收几个必要参数即可,请按照上述图片中获取所有省、市、县的各自CODE值,然后循环赋值参数给这个接口拼接为新的URL

就像采集一样,就可以批量瞬间得到全国具体物流信息 乡、区、村这种具体的物流数据,愉快的保存到您的数据库吧!

你也可以把淘宝这个API当成您的“私人”API使用!而且速度更快,更稳定!节省你的可怜宽带、CPU、内存...

享受下站在巨人肩膀上的乐趣吧!

总结

  1. 地址大部分数据都是固定不变的(如省份、市、县),我们可以“写死”在JS文件中静态加载
  2. 静态js文件只需加载1次,以后用户浏览器自动使用本地使用缓存文件
  3. 也可以做个程序按需手动生成“address.js"的程序,比如某个省改名了
  4. 千万不要再去多此一举的去连接数据库,否则会增大数据库压力浪费宽带资源...
  5. 如果地址配送想做的更细,如:针对乡、区、村这种变更率稍大的字段,可以借鉴淘宝那种做成API的Ajax按需请求URL
  6. 针对上述的API数据获取,服务端有可能是从数据库中获取数据,也有可能是从静态文件中筛选出数据(参考上述第3条)
  7. 细心的同学通过查看淘宝源码可以发现有很多规范可以学习参考:HTML写法、验证电话号码&区号的正则、城市区号对照、HTML5的运用、压缩的处理...有些可以直接拿来用!
  8. 不需要到处盲目的找“规范”,淘宝就是规范!因为他们都是经过严格面试的!站在巨人的肩膀上,学习淘宝,取其精华取其糟粕,假以时日,你就是高手!

转载于:https://my.oschina.net/cart/blog/372636

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值