#import pandas as pd
import requests
class DotaRank():
def __init__(self):
self.url = 'http://score.5211game.com/Arena/request/handler.ashx'
self.headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'}
self.post_data = {'action':'UserRankDatas'}
self.userId = []
self.userName = []
self.userRank = []
def get_data(self):
res = requests.post(self.url,data = self.post_data,headers=self.headers)
all_data = res.json()
# print(all_data)
items = all_data['DataModel']
for item in items:
self.userId.append(str(item['UserId']))
self.userName.append(str(item['UserName']))
self.userRank.append(str(item['Rank']))
print("第 " + str(item['Rank']) + " 名" + ":" + str(item['UserName']) + "\n")
result = {'用户id':self.userId,'用户名':self.userName,'排名':self.userRank}
return result
data = DotaRank().get_data()
#df = pd.DataFrame.from_dict(data)
#df.to_excel('D:\\dota.xlsx')
#print(data)
借鉴别人的例程,抓取11Game对战平台竞技场TOP100 的用户名和ID,requests模块需要导入第三方模块,可以 pip install requests 安装
good luck!