日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python爬取地理数据_python爬取所有人位置信息——腾讯位置大数据

發布時間:2025/3/20 python 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬取地理数据_python爬取所有人位置信息——腾讯位置大数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

騰訊位置大數據

網站

https://heat.qq.com/

網站功能介紹

騰訊位置大數據會將提供所有用戶使用騰訊位置的數據信息,但沒有用戶信息(只有位置信息)。從這個網站我們可以獲取所有使用騰訊位置服務的產品(微信、QQ、騰訊地圖、京東和美團)的人再全球任何地方產生的定位次數,方便大家人口估測、商業分析和科學研究等。

數據分析

POST請求

打開開發者工具,找到POST請求。這里需要注意的是,網站會每五分鐘POST一次getXingyunPoints請求,所以需要等五分鐘才能看到這個post請求。

請求解析

等到post請求出現時,我們點開詳細信息,每一次getXingyunPoints請求,都是四個。請求信息中,我們需要關注的是locs這個內容,它是由大量的數據組成,中間由英文“,”隔開;

每連續的三個數據為一組數據,這一組數據包含經度、緯度、人數,按照地理標準規范,經緯度小數點后面保留兩位也就是說,表現形式為xxx.xx的格式,請求的數據如下所示:

3220,11895,2,3075,11535,2,......

解析為:

緯度32.20,經度118.95,人數為2

緯度30.75,經度115.35,人數為2

python代碼

"""

@author: 菜C++雞Java Jiangzl

@Description: 用來爬取騰訊位置大數據信息,再次聲明,騰訊位置大數據從沒人說是準確數據,也沒說是完整數據,發paper的話建議三思

"""

import requests

import json

import pandas as pd

import time

def get_TecentData(count=4, rank=0, increNum=0): # 先默認為從rank從0開始(tecent一次post會post四次)

url = 'https://xingyun.map.qq.com/api/getXingyunPoints'

content = ''

paload = {'count': count, 'rank': rank}

response = requests.post(url, data=json.dumps(paload))

datas = response.text

dictdatas = json.loads(datas) # dumps是將dict轉化成str格式,loads是將str轉化成dict格式

locs = dictdatas["locs"] # 再提取content(這個需要進一步分析提取出經緯度和定位次數)

locss = locs.split(",")

temp = [] # 搞一個臨時容器

for i in range(int(len(locss) / 3)):

lat = locss[0 + 3 * i] # 得到緯度

lon = locss[1 + 3 * i] # 得到經度

count = locss[2 + 3 * i]

#獲得陜西的數據---獲取每個地方的數據,改這里就行

#舉個栗子--請求的元數據是整數,北緯10到20度之間

#就是1000

if(3142

temp.append([int(lat) / 100, int(lon) / 100, count]) # 在容器中存放數據:緯度,經度和定位次數

#數據整理

result = pd.DataFrame(temp)

result.dropna()

result.columns = ['lat', 'lon', 'count']

result.to_csv('TecentData'+str(increNum)+'.txt', mode='a', index=False) # model="a",a的意思就是append,可以把得到的數據一直往TecentData.txt中追加

if __name__ == '__main__':

#如果你想每隔多長時間生成一個文件,就把下面的注釋釋放掉,就去掉那個#井號,0改成k

#sleep(number) number:間隔時間,每隔一分鐘獲取一次數據就是 sleep(60)

#while (1):

#for k in range(1000000):

for i in range(4):

get_TecentData(4, i, 0)

#time.sleep(60)

補充

在解析數據的時候注意運行的時間以及數據的篩選,如果不加篩選,每次請求為10M流量,按一秒一次,一小時一般的磁盤可能就滿了。

有任何問題,都可私聊或者評論補充,也可積極探討,互相學習。

總結

以上是生活随笔為你收集整理的python爬取地理数据_python爬取所有人位置信息——腾讯位置大数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。