和平精英经典模式胜率不大,看了这篇博文,相信你会有所收获

不知道在玩和平精英这款游戏时你有没有这样感想,为什么自己的枪朝敌人开了几枪(全都命中)也没有把别人击倒,敌人几枪就把我干到了。也许是你不了解不同枪械的威力吧!今天,我就带大家去爬取枪械威力的数据,希望大家以后玩的时候,别在犯这种的错误了。

原标题:Python爬虫爬取和平精英这款游戏的枪械信息

1.怎样实现

首先让我们来了解一下需要的模块吧!
requests、bs4. 这两个模块是第三方模块,需要安装
我们按住win+R 在弹出来的窗口上输入cmd,来到命令窗口,输入pip install requests、pip install bs4即可
我们需要来到这个网址:和平精英枪械介绍
进入之后,我们发现这里有许多枪械、还有手雷。
在这里插入图片描述
根据需要我们只要爬取这些枪械名称、枪械链接即可,按一下电脑键盘F12,可以发现这些信息在这个标签下面。
在这里插入图片描述
为了后面更好让读者更加容易找到自己的枪械,我们可以把这个枪械的种类爬下来。
在这里插入图片描述
代码实现:

content=soup.select('div.area.wp.mt10.slide_wp')[0]     # 得到相关枪械的信息
list1=content.select('ul.cf.slide_nav>li')              # 枪械的种类 如 突击步枪、机枪、狙击枪



list2=soup.select('ul.clist.l170.cf')    # 所有枪械的信息
dict1={}   # 构建一个字典,关键字为枪械的种类,值为枪械信息的列表
for i in range(len(list2)):
     list3=list2[i].select('li>a')
     for j in range(len(list3)):
         list3[j]=[list3[j]['href'],list3[j].get_text()]    # 第一值是枪械的网址、第二个值是枪械的名称
     dict1[list1[i]]=list3

这样我们根据自己选择,选择一把枪械,这样就可以得到这个枪械的网址了。
根据这个网址,我们可以来到这个界面
在这里插入图片描述
在这里插入图片描述
可以发现,这里有许多关于这把 AKM枪械的信息,下面还有枪械威力的数据,我们只需把这些信息爬取得到即可。
我们按F12,发现这些信息都在这个标签下面,这个标签一共有四个,我们只需前三个标签里面的数据和信息即可。
在这里插入图片描述
代码实现:

soup2=firearms_introduce[0]

###########################################################################  枪械介绍
_list1=soup2.select('div.areabd>div.hreodata>table>tbody>tr.item')

_list2=_list1[0].select('td')
str2=''
for i in range(len(_list2)):
    if (i+1)%2==1:
        str2+=_list2[i].get_text()+':'
    else:
        str2+=_list2[i].get_text()+'\n'

print(str2)

for i in range(1,len(_list1)):
    _list3=_list1[i].select('td')
    str2=_list3[0].get_text()+':'+(_list3[1].get_text()).strip('\n')
    if len(str2)>35:
        str2=str2[:35]+'\n'+str2[35:]
    print(str2)

###########################################################################  枪械属性

soup3=firearms_introduce[1]
_list4=soup3.select('div.skilldata>table>tbody>tr')
_list5=_list4[0].select('th')
_list6=_list4[1].select('td')
for i in range(len(_list5)):
    str1=_list5[i].get_text()+':'+_list6[i].get_text()
    print(str1)
###########################################################################  武器伤害

soup4=firearms_introduce[2]
_list7=soup4.select('div.skilldata>table>tbody>tr')
list_1=_list7[0].select('td>strong')
str3=list_1[0].get_text()
str4=list_1[1].get_text()
_list8=_list7[1].select('td')
_list9=_list7[2].select('td')
for i in range(len(_list8)):
    if i==0:
        print(str3)
    elif i==4:
        print(str4)

    str1=_list8[i].get_text()+':'+_list9[i].get_text()
    print(str1)

运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过对运行结果分析,我们可以知道AKM比M416好(除了射速慢),但AKM后坐力大,需要经常练习才能更好使用这把枪,这点在上面枪械介绍中讲到了。

2.最终代码

最终代码我已经上传到github上了,链接为:和平精英.py,有需要的可以下载。

3.总结

代码程序比较简单,希望那些大佬们不要嫌弃,刚开始学习Python的小白可以好好领悟一下,如果觉得这篇还可以的话,记得给我点一个小小的赞喔!

发布了51 篇原创文章 · 获赞 299 · 访问量 9169

猜你喜欢

转载自blog.csdn.net/qq_45404396/article/details/105349736