Python学习03 — 从11Game 爬取dota竞技场 TOP 100 用户名

来源:互联网 发布:sparkle mac 编辑:程序博客网 时间:2024/04/30 07:39
#import pandas as pdimport requestsclass 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 resultdata = 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!