中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用python實現粉絲地域分布熱力圖

發布時間:2021-12-27 13:34:55 來源:億速云 閱讀:211 作者:iii 欄目:大數據

本篇內容主要講解“怎么用python實現粉絲地域分布熱力圖”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用python實現粉絲地域分布熱力圖”吧! 

獲取粉絲信息        

我們第一步需要在網易云音樂網頁找到歌手的粉絲頁面:


怎么用python實現粉絲地域分布熱力圖

通過這個網頁,我們可以獲取歌手的id


比如這里許嵩的id是31265745,我們只需要把代碼中歌手id替換成許嵩的id即可:


# 歌手idaid = '31265745'
 


運行代碼后,我們可以獲取粉絲的信息:


怎么用python實現粉絲地域分布熱力圖


經過一天一夜的爬蟲,獲得了四萬多個粉絲信息。


一共三個屬性信息,包括昵稱(nickname),位置(location),以及性別(gender)。我們只關注位置信息。


值得注意的是,Python3的編碼方式和Python2并不一樣,所以在原代碼的95行,97行,我們需要做一些改動:


cipher = AES.new(key.encode('utf-8'), AES.MODE_CBC, iv.encode('utf-8'))# 加密后得到的是bytes類型的數據encryptedbytes = cipher.encrypt(msg.encode('utf-8'))
 



制作地域熱力圖      


在粉絲信息提取的信息中,位置信息為城市編碼。


我們分三步走:


  1. 我們先將城市編碼轉換成中文的位置信息

  2. 然后通過百度API將中文位置轉換成經緯度

  3. 根據每個地區的人數在地圖經緯度上標注熱力點


在第2步中,我們需要申請百度地圖的服務密鑰。




我的申請信息如下:


怎么用python實現粉絲地域分布熱力圖


將申請到的ak填入到原代碼的第75行即可。


還有一處代碼需要進行改動,因為你如果在獲得ak后跑程序,會發生報錯:


{"status":240,"message":"APP 服務被禁用"}
 


由于服務升級,更新之后請求的URL體發生了改變:


# 舊:http://api.map.baidu.com/geocoder/v2/?location=34.35555,107.32518&output=json&ak=你的AK&pois=1# 新:http://api.map.baidu.com/reverse_geocoding/v3/?ak=你的AK&output=json&coordtype=wgs84ll&location=31.225696,121.49884
 


從這段代碼看,是版本從v2升級成了v3。如果你將代碼按照v3改過來,發現還是會報錯。


經過我的仔細思考,發現新的版本將的是如果逆地理編碼,而我們需要的是“正”地理編碼,于是我嘗試將reverse_geocoding中的reverse去掉,沒想到竟然通過了!真是機智。


這部分代碼為(在原代碼72行開始):


url = "http://api.map.baidu.com/geocoding/v3/"output = 'json'# 密鑰需要到百度開發者平臺申請ak = 'bwLDdZXZNcrGCLVdsRPVESQv1GjtwOW8'addr = quote(address)uri = url + '?' + 'ak=' + ak  + '&output=' + output + '&address=' + addr
 


最后是繪制地圖,經過多次嘗試后,之前申請的百度地圖服務應用類別不是服務器,于是我又申請一個瀏覽器端的ak:


怎么用python實現粉絲地域分布熱力圖


在定位地區的時候,有一個一直報錯,就是“淮北市”,于是我將它在字典里面刪除了:


loc_counts.pop('淮北市')
 


最終效果圖      


好了,經過一段時間和代碼死懟,終于獲得熱力圖:



怎么用python實現粉絲地域分布熱力圖


可以看出來許嵩的粉絲主要集中在安徽江蘇上海等地,另外廣東北京地區也非常之多。

放大一下看:

怎么用python實現粉絲地域分布熱力圖

到此,相信大家對“怎么用python實現粉絲地域分布熱力圖”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

同仁县| 德兴市| 长岭县| 彭水| 黄大仙区| 张家口市| 伊通| 陆丰市| 额敏县| 微博| 博爱县| 孟州市| 白沙| 伊金霍洛旗| 依兰县| 同心县| 枞阳县| 思南县| 长治县| 鄂州市| 南漳县| 朝阳县| 肥东县| 安阳县| 百色市| 松潘县| 马关县| 江孜县| 盈江县| 遂川县| 石台县| 江陵县| 来安县| 左云县| 江北区| 麻城市| 贵南县| 磐安县| 托克逊县| 南安市| 武定县|