V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wangleineo
V2EX  ›  问与答

哪里能找到很全的中国省市县的层级数据结构?(最好 python)

  •  
  •   wangleineo · 2014-08-18 22:34:33 +08:00 · 8872 次点击
    这是一个创建于 3779 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我找到一个 http://outofmemory.cn/code-snippet/68/Python-get-zhongguo-shengshi
    似乎直辖市的区没有包含。
    17 条回复    2014-08-19 00:54:37 +08:00
    ETiV
        2
    ETiV  
       2014-08-18 23:10:27 +08:00
    我是从注册 QQ 页面的代码里找的.

    http://4.url.cn/zc/chs/js/10062/location_chs.js

    中国在 '1' 里.
    每层的 'n' 是中文名字. 数字组成的路径是地区代号. 数据库里存这串代号就行了.
    bianzhifu
        3
    bianzhifu  
       2014-08-18 23:23:45 +08:00
    从淘宝页面里面拿到过,到县的下一级 不知道怎么发给你
    wildplant
        4
    wildplant  
       2014-08-18 23:27:39 +08:00
    @bianzhifu 搞到github开个源吧。。。
    bianzhifu
        5
    bianzhifu  
       2014-08-18 23:29:44 +08:00   ❤️ 1
    @wildplant 本来就拿淘宝的,再去开源有些不合适吧
    wildplant
        6
    wildplant  
       2014-08-18 23:37:52 +08:00
    呵呵。其实这东西就应该由国家统计局开源。唉,政府的职责啊。呵呵。能不能给我发一份?
    bianzhifu
        7
    bianzhifu  
       2014-08-18 23:41:02 +08:00
    isy
        9
    isy  
       2014-08-18 23:42:58 +08:00
    Quaintjade
        10
    Quaintjade  
       2014-08-18 23:50:32 +08:00
    要看你做什么用。
    如果只要最新的话,随便找个大站扒个js, json下来就行。
    但如果是身份证号之类就很麻烦,因为区县一直在变动。有的县一会儿升市了,一会儿和旁边的县合并了,一会儿又拆开了,每一次变动就会改变一次代码。所以只取得最新和最旧的数据都不够。
    wildplant
        11
    wildplant  
       2014-08-18 23:54:02 +08:00
    @isy 是的,这个我知道,只有县的。淘宝都做到了县下一级,其实政府完全有能力做到村一级啊。
    bianzhifu
        12
    bianzhifu  
       2014-08-18 23:55:20 +08:00   ❤️ 1
    wildplant
        13
    wildplant  
       2014-08-18 23:57:26 +08:00
    @bianzhifu 感谢感谢。
    bianzhifu
        14
    bianzhifu  
       2014-08-19 00:02:34 +08:00
    @wildplant 想区县的下一级 把县的code保存到1.txt,用下面python去获取。
    请自己研究吧,做到村级别的还是要去
    http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2013/index.html
    自己抓取
    python 如下

    import httplib
    import json
    w = open('test.txt','w')
    for line in open("1.txt"):
    line=line.strip('\n')
    url = "/locationservice/addr/output_address_town.do?l1=130000&l2=130900&l3="+line+"&_ksTS=1407491792023_287&callback=aaaaa"
    conn = httplib.HTTPConnection("lsp.wuliu.taobao.com")
    conn.request("GET", url)
    r1 = conn.getresponse()
    data = r1.read()
    data = data[29:len(data)-3];
    # datajson = json.loads(data)
    w.write(data+"\n");
    print line
    wildplant
        15
    wildplant  
       2014-08-19 00:04:43 +08:00
    @bianzhifu 冤枉政府了,呵呵。向统计局道歉啊。要是大家一起帮助统计局把用户体验做好点就完美了。
    fengchang
        16
    fengchang  
       2014-08-19 00:27:03 +08:00 via Android
    统计局那个每年都会更新,更新之后旧行政区就会消失,记得在预约办护照的公安系统里有包括已经消失的旧行政区的代码表
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   980 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:57 · PVG 02:57 · LAX 10:57 · JFK 13:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.