Python 对LinkedIn用户联系人的地址进行地理编码

CODE:

#!/usr/bin/python 
# -*- coding: utf-8 -*-

'''
Created on 2014-8-20
@author: guaguastd
@name: geocode_connection_bing.py
'''

from geopy import geocoders
import json

GEO_APP_KEY = ''
g = geocoders.Bing(GEO_APP_KEY)

# access to linkedin api
from login import linkedin_login
linkedin_api = linkedin_login()

connections = linkedin_api.get_connections()
connections_data = r'E:\eclipse\LinkedIn\dfile\linkedin_connections.json'

# Write connections into disk file
f = open(connections_data, 'w')
f.write(json.dumps(connections, indent=1))
f.close()

# Read data from disk file
connections = json.loads(open(connections_data).read())

transforms = [('Greater ', ''), (' Area', '')]

results = {}
for c in connections['values']:
    if not c.has_key('location'): continue

    transformed_location = c['location']['name']
    for transform in transforms:
        transformed_location = transformed_location.replace(*transform)
    geo = g.geocode(transformed_location, exactly_one=False)
    if geo == []: continue
    results.update({c['location']['name']: geo})

print results
#print json.dumps(results, indent=1)

RESULT:

{u'United States': [Location(United States 39 27m 0.0s N, 98 57m 0.0s W)], 
u'Chengdu, Sichuan, China': [Location(Chengdu, Sichuan, China 30 40m 0.0s N, 104 5m 0.0s E)], 
u'Beijing City, China': [Location(Beijing, Beijing, China 39 54m 0.0s N, 116 23m 0.0s E)], 
u'China': [Location(China 36 33m 0.0s N, 103 59m 0.0s E)], 
u'San Francisco Bay Area': [Location(CA, United States 37 43m 0.0s N, 122 15m 0.0s W)], 
u'Foshan, Guangdong, China': [Location(Foshan, Guangdong, China 23 2m 0.0s N, 113 6m 0.0s E)], 
u'Xingtai, Hebei, China': [Location(Xingtai, Hebei, China 37 4m 0.0s N, 114 29m 0.0s E)], 
u'Birmingham, United Kingdom': [Location(Birmingham, England, United Kingdom 52 29m 0.0s N, 1 55m 0.0s W), Location(Birmingham, England, United Kingdom 52 27m 0.0s N, 1 43m 0.0s W), Location(Birmingham Airport, England, United Kingdom 52 27m 0.0s N, 1 44m 0.0s W), Location(Birmingham Business Park, England, United Kingdom 52 28m 0.0s N, 1 43m 0.0s W)]}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值