最近因为需要天津滨海新区的人口数据,看一看人口密度,了解哪些商圈聚集的人气最多,哪些居民区的常住人口最多,哪些重要的休闲娱乐地点是人们常去的。但是户籍人口在公安局,常住人口在街道,流动人口想要得到更是千难万难。很多时候苦于没有数据,就只能从公开数据下手。幸好生在互联网时代,运营商手机信令数据,公交卡数据,社交软件数据等提供了更多的选择。本文就介绍一下微博签到数据如何获取,直接说思路:
(1)注册微博开放平台。登陆微博开放平台http://open.weibo.com/,当然你先要有一个微博账号,完善开发者信息。通过审核后,进入微连接-网站接入,公司开发者可以使用微服务-粉丝服务(以前个人开发者也可以,现在提示“个人开发者只可创建微连接应用,不可创建微服务应用”),创建应用,然后在我的应用-接口管理-授权机制中,编辑“OAuth2.0 授权设置”,两项都可以设置为https://api.weibo.com/oauth2/default.html。这样,我们就可以在应用信息中找到App Key和App Secret,在爬虫中会用到。
(2)第二步,就是编写爬虫获取坐标位置周边的签到数据。首先引用的库中有一个微博的python SDK,可以在http://open.weibo.com/wiki/SDK下载。
引用的库,以及微博开放平台key爬取数据部分,主要包含两块,一块是获取坐标周边微博POI信息,用到了place.nearby.pois接口;一块是查询每个POI的签到数,用到了place.pois.show接口。具体如下:
获取坐标周边的微博POI列表
获取每个POI的当日签到数
运行函数
获取的数据是json格式,提取数据十分方便。建议大家看看微博API各个接口的介绍,上面有参数和返回结果的示例。不过微博API接口文档最近好像有了改版,位置相关接口的介绍找不到了,但是我试了一下接口仍然可以用。
(3)那么小伙伴们就会问,我只知道我想查询的地点的名称,不知道坐标怎么办呢,那就需要用到高德开发平台(http://lbs.amap.com/),为什么不用百度的呢,因为微博开放平台的坐标系用的就是高德的。高德开放平台的坐标拾取工具(http://lbs.amap.com/console/show/picker)可以按地址名称查询坐标。
如果需要大批量的获取地名的坐标,还可以通过高德开放平台的API批量获取地名的坐标,获取POI数据,这个我们将在下一篇文章分享。
Copyright © 2008-2022 秒下下载站
m.down10s.com .All Rights Reserved