爬虫抓取暗黑3国服天梯榜数据及分析

本文介绍了作者使用Python爬虫抓取暗黑3国服天梯榜上前50名各职业的数据,包括BattleTag、大米最高层数、用时和完成日期。分析了各职业的平均层数和用时,并对巫医的平均层数低提出疑问,计划后续更新玩家的详细属性数据进行深入对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从一月末入坑,到今天19号,20多天的时间,托春节三天双倍的福,我成功的成为了900级的萌新得意不过买完198,就打折98,这对本萌也太不友好了吧奋斗怀着愤怒的心情......


我就又买了一份、、、

和老爸一起刷刷刷大笑


这两天一直关注凯恩之角,不得不说,D3的数据帝是真滴多、、、就像这两天才知道,攻速还有档位一说???我擦嘞,贴一下大佬的帖子:暗黑3公开课:暗黑3“档位”的由来与发展

好了,步入正题,凯恩之角有一栏是是英雄榜,有亚服、国服、美服和欧服高玩们的冲(zhuang)榜(bi)数(zheng)据(ju),今天就来抓一下国服七大职业天梯榜各前50的数据,包含玩家BattleTag,大米最高层数及用时,最佳记录完成日期。并给出各职业前50名平均层数、平均用时。

先说一下,代码中arr里的1为蛮子,2为51,3是和尚,4是法师,5是DH,6是豆角,中间空着的7,8,9为双人、三人和四人模式,死灵因为资料片刚出所以为10

代码如下:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb 19 16:16:07 2018

@author: Administrator
"""

import urllib2
import re

p=r'<td class=num>\s+(.+?)\s+</td>\s+<td> <a href="(.+?)"> (.+?) </a> </td>\s+<td class="u-tlc">\s+<span class="class-portrait hero-(.+?)"/>\s+</td>\s+<td> (.+?)</td>\s+<td> (.+?)分(.+?)秒</td>\s+<td> (.+?)</td>'

arr=(1,2,3,4,5,6,10)

count=[0]*11
average_ceng=[0]*11
average_time_min=[0]*11
average_time_sec=[0]*11

for i in arr:
    url="http://hero.d.163.com/mystic/cn/121/0/"+str(i)
    print url
    request=urllib2.Request(url)
    response=urllib2.urlopen(request)
    data=response.read()
    q=re.compile(p)
    list=re.findall(q,data)
    sum_ceng=0
    sum_time_min=0
    sum_time_sec=0
    for row in list:
        print ("%s\t%s\t%s\t%s分%s秒\t%s")%(row[0],row[2],row[4],row[5],row[6],row[7])
        count[i]+=1
        sum_ceng+=int(row[4])
        sum_time_min+=int(row[5])
        sum_time_sec+=float(row[6]) 
    average_ceng[i]=float(sum_ceng)/count[i]
    average_time_min[i]=float(sum_time_min)/count[i]
    average_time_sec[i]=sum_time_sec/count[i]
    average_time_sec[i]=average_time_sec[i]+(average_time_min[i]-int(average_time_min[i]))*60
    average_time_min[i]=int(average_time_min[i])
    if average_time_sec[i]>=60:
        average_time_sec[i]-=60
        average_time_min[i]+=1
        
print '\n\n***********************************************************'
print '依次为野蛮人、巫医、武僧、魔法师、猎魔人、圣教军和死灵'
for i in arr:
    print ("人数:%d\t平均层数:%.3f\t平均用时:%d分%.3f秒")%(count[i],average_ceng[i],average_time_min[i],average_time_sec[i])

点进每位玩家的标签,是可以看到他们人物属性的,包括爆率、爆伤、元素抗、攻速和cdr等等这些平时游戏里看天梯榜看不到的数据,这些我明后天会更新,毕竟这些才是最主要的,从这些数据能看出和大佬们的差距在哪里~~~

暂时贴一下运行结果吧:

举一下蛮子的:


各职业总结


怎么巫医平均层数那么低???

我猜是丑。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值