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

歡迎訪問 生活随笔!

生活随笔

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

python

python联盟是什么意思_Python 与 英雄联盟(1)

發布時間:2025/3/19 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python联盟是什么意思_Python 与 英雄联盟(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在我寫這篇文章前,興奮地在知乎站內搜了一下關鍵詞“python 英雄聯盟”,又興奮地發現,我似乎是第一個把python用在A(買關子)方面的人!!!我知道我的機會來了!!

英雄聯盟:什么?!你python和我有什么關系?!

嘿嘿,不賣關子了,python就是和你英雄聯盟有關系!

前情提要:

這篇文章涉及python爬蟲,python數據分析,如果你對此感興趣,那么

老規矩,開頭概括整篇文章。這篇文章關于英雄聯盟玩家數據(掌上wegame app)的爬取及數據分析,和遇到的坑(有代碼呦 )。

先磨刀(搭環境):

涉及python模塊:requests,json(沒想到吧!)

相關工具:夜神模擬器(任何一款安卓模擬器都行),fiddler。

假設H:你已具備相關爬蟲知識(最簡單的),會簡單使用抓包工具。(你當然可以拒絕這個假設!)

目的:(靈感來源)分析自己的對戰數據,以此來證明自己菜否。

好吧,既然要分析數據,那得要數據啊。于是我趕緊去英雄聯盟官網尋找自己得對戰數據(web) 然后,

完全找不到。

然后我去pc端wegame找數據,數據雖然有,可發現無處下手。(抓包抓不到)

最后,我去移動端找數據,數據雖然有,可無從下手+1。(無法抓包,模擬器中app閃退)。

啊!天亡我也!這篇文章到此結束。

怎么可能?!雖然發現事情并不簡單,可我難道就這樣子放棄嗎?

辦法總是有得呀!雖然模擬器app閃退,我可以用真機呀,我可以換app呀!

于是我換了個掌上英雄聯盟,進行真機抓取。

然后發現我需要作的工作是這樣的:

是這樣的:

這種方法是使用appium(appium在windows下安裝是個深坑)進行真機抓取,需要定位每一個含有有價值信息的節點,以及數據的過濾,關鍵是要寫自動腳本,要是數據量小還可以接受,可數據量一大起來(我的破手機)

辦法總是有的,辦法總是留給愿意去付出努力的靚仔的!

偶然間看到一位大佬的文章,提出了解決app在模擬器上閃退的問題,然后嘿嘿,那么我的機會來了!

(概述一下,就是使用xposed+justtrustme框架)

好!開始抓包!

(抓的時自己賬號的對戰數據)為保護玩家隱私,id已被我馬賽克。

好,請求的數據已經很清楚地擺在我們面前,什么沒看清?

那么這個呢?

我無條件承認學好英語是一件收益匪淺地事情。

api? battle?detail?

這不就是%#%$%$掐架,細節嗎?(修正中.......)

這不就是對戰數據的接口嗎?

好,那么來看看這個請求返回的數據

破肥特!!返回json數據,英文好在都看的懂。

那么繼續來看看這個請求的headers。

很容易看出,post請求,并且帶了條json數據。經過我周密分析,每一場對戰的battle_id都是不同的,具體這battle_id是如何生成的,我們來繼續分析。

然后

無解了。我不知道,我不會,我頭疼。

難道要翻在這陰溝里了?

這么靚仔的我怎么可能翻船呢?

我錯過了一個細節,當你在該頁面往下滑你會發現

api?battle?list?

這不就是%¥%&掐架,串串嗎?(修正中.......)

這不就是對戰列表接口嗎?

來看看這個接口返回的數據

bettle_id在這!破肥特!

進一步分析你會發現一個很重要的參數。

offset?

消除?偏移?(修正中.....)

這不就是偏移量嗎?

經過我仔細觀察發現,每次偏移量為10,返回10場對戰數據(10個battle_id)。

好,既然不知道這個id如何生成,那么我就給他抓下來!

(經過實踐,發現最多能抓到350條id,超過350條返回的都是空數據,也許服務器就只存儲玩家近來350場對戰數據,不管了,無所謂)

激動人心的代碼來了:

import requests

import logging

import time

logging.captureWarnings(True)

url='https://m.wegame.com.cn/api/mobile/lua/proxy/index/mwg_lol_proxy/get_battle_list'

headers={

'Accept':'application/json',

'Cookie':'***********', #cookie當然要換啦,這里太長,我就不寫了

'Content-Tyep':'application/json; charset=utf-8',

'Content-Length':'113',

'Host':'m.wegame.com.cn',

'Connection':'Keep-Alive',

'Accept-Encoding':'gzip',

'User-Agent':'okhttp/3.11.0'

}

for offset in range(0,350,10): #offset偏移量處理

try:

json={"offset": offset, "limit": 10, "filter_type": 0, "totalNum": 500, "game_id": 26, "slol_id": "j9GJB4l",

"area_id": 24, "isMe": "true"}

res=requests.post(url=url,json=json,verify=False)

print(res.status_code)

with open('battle_list{0}.json'.format(offset),'w+',encoding='utf8') as f: #保存為json文件

f.write(res.text)

time.sleep(2)

except:

print('error!')

結果如下:

350場battle_id大功告成!

接下來就是battle_id的提取,以及對戰數據請求的構造。

代碼很簡單啦:

import requests

import logging

import json

import time

Battle_list=[]

url='https://m.wegame.com.cn/api/mobile/lua/proxy/index/mwg_lol_proxy/get_battle_detail'

logging.captureWarnings(True)

FileName=r'Z:\VSPY\battle_list{}.json'

headers={

'Accept':'application/json',

'Cookie':'******', #同樣地替換cookies

'Content-Tyep':'application/json; charset=utf-8',

'Content-Length':'98',

'Host':'m.wegame.com.cn',

'Connection':'Keep-Alive',

'Accept-Encoding':'gzip',

'User-Agent':'okhttp/3.11.0'

}

for offset in range(0,350,10):

with open(FileName.format(offset),'r',encoding='utf8') as f:

data=f.read()

hjson=json.loads(data)

Datas=hjson['data']['player_battle_brief_list']

for i in Datas:

Battle_list.append(i.get('battle_id'))

print(Battle_list)

print(len(Battle_list))

for battle_id in Battle_list: #將每一個battle_id參數傳入請求

data={"game_id":26,"dst_slol_id":"j9GJB4l","req_slol_id":"j9GJB4l","area_id":24,"battle_id":battle_id,"show_type":1}

try:

res=requests.post(url=url,json=data,verify=False)

with open(r'Z:\VSPY\戰績\{}.json'.format(battle_id),'w+',encoding='utf8') as f:

f.write(res.text)

print(res.status_code)

time.sleep(2)

except:

print('error')

結果如下:

350場對戰數據大功告成!

我們來看看里面數據:

哈哈哈啊哈!今天到此為止,至于數據分析嘛,下次再更!

總結

以上是生活随笔為你收集整理的python联盟是什么意思_Python 与 英雄联盟(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 青青视频在线免费观看 | 狠狠干夜夜骑 | 性爱免费在线视频 | 九九精品久久 | 人人妻人人藻人人爽欧美一区 | 黄色免费网站视频 | 久久综合九色综合网站 | 黄色国产在线 | 久久理论片| 欧美性生活一区二区三区 | 99久久人妻无码精品系列 | 波多野结衣在线免费观看视频 | 国产精品久久久久久久免费大片 | 黄色av高清 | 欧洲精品一区二区 | 亚洲国产一区二区在线 | 自拍偷拍校园春色 | 成人免费直播 | 男女男精品视频 | 91久久久久久 | 99视频在线播放 | 国产成人精品影院 | 国产精品久久精品三级 | 成年午夜视频 | 国产手机看片 | 无码精品黑人一区二区三区 | 日韩在线免费播放 | 三级全黄做爰龚玥菲在线 | 777精品伊人久久久久大香线蕉 | 可以看污的网站 | 欧美夜夜骑 | 国产一区二区三区18 | 国产亚洲成av人片在线观看桃 | 国产精品无人区 | 老司机av导航 | 亚洲男人的天堂网 | 下面一进一出好爽视频 | 日韩精品字幕 | 丰满人妻一区二区三区在线 | 国产又爽又黄的视频 | 丁香综合激情 | 精品蜜桃一区二区三区 | 一区二区三区四区高清视频 | 国产最新在线视频 | 免费网站在线观看黄色 | 国产av人人夜夜澡人人爽麻豆 | 新久草视频 | 天天天天| 日韩精品在线观看AV | 日韩一区二区免费在线观看 | 99视频一区二区 | 婷婷调教口舌奴ⅴk | 18禁网站免费无遮挡无码中文 | 国产精品成人国产乱一区 | 一级久久久 | 欧美亚洲丝袜 | 特黄a级片 | 成年人在线观看视频免费 | 中文字幕第10页 | 亚洲永久网站 | 理论片一区| 免费av在线播放网址 | 国产调教打屁股xxxx网站 | 亚洲一区av | 国产人澡人澡澡澡人碰视频 | 久久成人免费电影 | 色欲国产精品一区二区 | 亚洲精品国产suv一区 | 午夜激情视频在线播放 | 久久精品2019中文字幕 | 久久久久无码国产精品 | 亚洲国产日韩精品 | 亚洲一区电影在线观看 | 中文字幕人妻一区二区三区 | 色婷网 | 女生被男生桶 | 久久视频在线观看免费 | 乱色欧美 | 噼里啪啦免费观看 | 女人的天堂av | 美女bb视频 | 黑人借宿巨大中文字幕 | 97超碰资源总站 | 国产精品剧情 | 国语播放老妇呻吟对白 | 日美韩一区二区三区 | 人妻少妇精品一区二区 | 欧美不卡网 | 中文字幕在线播放一区二区 | av色噜噜 | 国产一级免费av | aaaaa黄色片 天堂网在线观看 | 国产白丝喷水 | 成人av免费在线看 | av综合在线观看 | 人妻丰满熟妇无码区免费 | 亚洲免费成人在线 | 日韩在线观看免费网站 | 草草影院在线播放 |