社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
原文:http://blog.csdn.net/jackeriss/article/details/49009899
首先,你需要一个新浪开发者账号,很容易注册的,注册完后创建一个应用,创建时类型选择粉丝服务平台就行了。
(http://open.weibo.com/development/fenfu 点击右边的创建应用即可)
然后进到刚才创建的应用的页面,选择应用信息,在基本信息中可以看见以下内容
App Key:344XXXXXXX
App Secret:577a017XXXXXXXXXXXXXXXXXXXXXXXXX
应用地址:https://api.weibo.com/oauth2/default.html
这些都是使用新浪微博API的基础,有了这些,你只需要根据你所使用的语言下载相应的SDK即可放心食用。
SDK食用方法
这里仅介绍 Python 的,其他语言类似
首先,安装 weibo.py 这个库,
安装 weibo.py 库:下载新浪微博的 SDK,然后解压。 在DOS命令窗口,命令行工具cd切换到该解压文件,找到setup.py文件,然后输入python setup.py install
使用时将其import进来即可。具体调用如下:
这时会跳转到另一个界面,页面正中间写着“微博OAuth2.0”,这时候将这个页面网址中“code=”后面的内容拷贝到刚才运行的程序的提示“input the retured code : ”后面并回车。
程序会打印出离地理坐标(东经,北纬)最近的POI点的坐标,关于坐标和POI点的知识详解请看Python微博地点签到大数据实战(二)POI与坐标
Github:https://github.com/Jackeriss/weibo_checkin_spider
原文:https://github.com/Jackeriss/weibo_checkin_spider/blob/master/main.py
#coding=utf-8 | |
import weibo | |
import json | |
APP_KEY = 'XXXXXXXXXXXXXX'#在新浪申请一个APP | |
APP_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' | |
CALL_BACK = 'https://api.weibo.com/oauth2/default.html' | |
def run(): | |
client = weibo.APIClient(APP_KEY,APP_SECRET, CALL_BACK) | |
auth_url = client.get_authorize_url() | |
print "auth_url : "+ auth_url | |
code = raw_input("input the retured code :") | |
r = client.request_access_token(code) | |
client.set_access_token(r.access_token, r.expires_in) | |
lat_long_file = open("poi.txt","r") | |
cache = []#缓存以确保不重复 | |
for lines in lat_long_file: | |
try: | |
checkin_num = 0 | |
title = None | |
lat_long = lines.strip("n").split(",") | |
longitude = lat_long[0] | |
latitude = lat_long[1] | |
poi_result = str(client.place.nearby.pois.get(lat=latitude,long=longitude))#返回附近多个poi点的信息 | |
poi_list = eval(poi_result) | |
poi_string = json.dumps(poi_list) | |
poi_json = json.loads(poi_string) | |
for i in range(0,len(poi_json["pois"])):#把附近所有的poi点都遍历一遍 | |
if poi_json["pois"][i]["poiid"]in cache: | |
pass | |
else: | |
poi_id = poi_json["pois"][i]["poiid"] | |
cache.append(poi_id) | |
checkin_result=str(client.place.pois.show.get(poiid=poi_id)) | |
checkin_list = eval(checkin_result) | |
checkin_string = json.dumps(checkin_list) | |
checkin_json = json.loads(checkin_string) | |
checkin_num = checkin_json["checkin_num"]#签到数 | |
lon = checkin_json["lon"]#经度 | |
lat = checkin_json["lat"]#纬度 | |
title = checkin_json["title"]#地点名称 | |
if checkin_num !=0 and title != None: | |
print "%st%st%st%s"%(lon,lat,checkin_num,title) | |
except: | |
print "ERROR!!!!" | |
if __name__ == "__main__": | |
run() |
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!