更多>>关于我们

西安鲲之鹏网络信息技术有限公司从2010年开始专注于Web(网站)数据抓取领域。致力于为广大中国客户提供准确、快捷的数据采集相关服务。我们采用分布式系统架构,日采集网页数千万。我们拥有海量稳定高匿HTTP代理IP地址池,可以有效绕过各种反采集策略。

您只需告诉我们您想抓取的网站是什么,您感兴趣的字段有哪些,你需要的数据是哪种格式,我们将为您做所有的工作,最后把数据(或程序)交付给你。

数据的格式可以是CSV、JSON、XML、ACCESS、SQLITE、MSSQL、MYSQL等等。

更多>>官方微博

当前位置: 首页 > 技术文章 >
如何解析美国地址
发布时间:2011-06-04 来源:原创 浏览:

项目中经常需要将完整的美国地址(例如,6200 20th Street, Vero Beach, FL 32966)进行细分:

address: 6200 20th Street

City:  Vero Beach

State: FL

Zip code:32966

下面给出一个函数,使用前需要导入re模块:

def parse_us_address(address):
    addrs = map(lambda x:x.strip(), address.split(','))
    if addrs:
        m = re.compile('(\w+)\s*(.*)').search(addrs[-1])
        if m:
            state, zipcode = m.groups()[0].strip(), m.groups()[1].strip()

        if len(addrs)>=3:
            city = addrs[-2].strip()
            address = ','.join(addrs[:-2])
        else:
            address = ','.join(addrs[:-1])
            
    return address, city, state, zipcode  
 
调用示例:
>>> parse_us_address('6200 20th Street, Vero Beach, FL 32966')
('6200 20th Street', 'Vero Beach', 'FL', '32966')

 

特别说明:该文章为鲲鹏数据原创文章 ,您除了可以发表评论外,还可以转载到别的网站,但是请保留源地址,谢谢!!(尊重他人劳动,我们共同努力)
☹ Disqus被Qiang了,之前的评论内容都没了。现在改用国产的友言。如果您有爬虫相关技术方面的问题,欢迎发到我们的问答平台:http://spider.site-digger.com/
QQ在线客服
欢迎咨询,点击这里给我发送消息。
欢迎咨询,点击这里给我发送消息。