Python 微博爬蟲——通過微博開放平臺獲取微博簽到數據

編程語言 網絡爬蟲 Python 軟件 數據分析師knight 2017-04-07

最近因為需要天津濱海新區的人口數據,看一看人口密度,瞭解哪些商圈聚集的人氣最多,哪些居民區的常住人口最多,哪些重要的休閒娛樂地點是人們常去的。但是戶籍人口在公安局,常住人口在街道,流動人口想要得到更是千難萬難。很多時候苦於沒有數據,就只能從公開數據下手。幸好生在互聯網時代,運營商手機信令數據,公交卡數據,社交軟件數據等提供了更多的選擇。本文就介紹一下微博簽到數據如何獲取,直接說思路:

(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下載。Python 微博爬蟲——通過微博開放平臺獲取微博簽到數據 引用的庫,以及微博開放平臺key

爬取數據部分,主要包含兩塊,一塊是獲取座標周邊微博POI信息,用到了place.nearby.pois接口;一塊是查詢每個POI的簽到數,用到了place.pois.show接口。具體如下:

Python 微博爬蟲——通過微博開放平臺獲取微博簽到數據

獲取座標周邊的微博POI列表

Python 微博爬蟲——通過微博開放平臺獲取微博簽到數據

獲取每個POI的當日簽到數

Python 微博爬蟲——通過微博開放平臺獲取微博簽到數據

運行函數

獲取的數據是json格式,提取數據十分方便。建議大家看看微博API各個接口的介紹,上面有參數和返回結果的示例。不過微博API接口文檔最近好像有了改版,位置相關接口的介紹找不到了,但是我試了一下接口仍然可以用。

(3)那麼小夥伴們就會問,我只知道我想查詢的地點的名稱,不知道座標怎麼辦呢,那就需要用到高德開發平臺(http://lbs.amap.com/),為什麼不用百度的呢,因為微博開放平臺的座標系用的就是高德的。高德開放平臺的座標拾取工具(http://lbs.amap.com/console/show/picker)可以按地址名稱查詢座標。

如果需要大批量的獲取地名的座標,還可以通過高德開放平臺的API批量獲取地名的座標,獲取POI數據,這個我們將在下一篇文章分享。

相關推薦

推薦中...