python爬取王者_Python3爬取王者官方网站英雄数据

爬取王者官方网站英雄数据

众所周知,王者荣耀已经成为众多人们喜爱的一款休闲娱乐手游,今天就利用python3 爬虫技术爬取官方网站上的几十个英雄的资料,包括官方给出的人物定位,英雄名称,技能名称,CD,英雄克制关系以及官方给出的出装Tips等数据。如下图:

1480617-20190428145111152-1057400403.png

首先,对英雄列表页中的各个英雄子夜进行观察其URL的变动,发现每个英雄页面之后后面的页数会变动且呈递增规律。

1480617-20190428145513548-1270703998.png1480617-20190428145337180-773960249.png

接下来审查要爬取对象的标签元素

1480617-20190428145554178-141284218.png

1480617-20190428153809945-618624277.png

解析网站后,开始准备爬取数据

代码部分

准备要获取的所有英雄页面URL

1480617-20190428145953690-264863141.png

根据页面上的标签获取数据并保存到字典

1480617-20190428150256839-1414617200.png

游戏部分英雄为虚构世界人物,这里还需要在jieba手动添加英雄名和部分装备名

1480617-20190428150459728-1942105518.png

1480617-20190428150518344-1799444881.png

官方某些英雄由于没有在html上标明克制与压制关系的英雄名称,只上传了照片,如下图,并未找到“吕布”、“王昭君”等关键字,为了数据的完整性,部分数据需要手动在代码添加,大部分数据还是可以自动获取。

1480617-20190428150842050-1572242692.png

1480617-20190428150959455-1789404396.png

一切工作准备妥当之后,开始爬虫。

1480617-20190428151144964-573216353.png

引入英雄名和停用词对其中部分数据进行清洗和分词

1480617-20190428151456147-2040407401.png

1480617-20190428151512600-333757391.png

1480617-20190428151552836-159677967.png

词频排序、保存为CSV文件

1480617-20190428151628912-303306298.png

经过筛选,列出搭档出现频数最多,压制英雄数量最多的英雄频数,被克制最多的英雄频数三个数表如图

1480617-20190428152055323-1881234167.png

1480617-20190428152108171-630927556.png

1480617-20190428152308175-635201330.png

统计为树状图

1480617-20190428152348263-227111346.png

1480617-20190428152402229-1320334668.png

1480617-20190428152411848-607887991.png

之后分析各类数据前几名英雄的官方tips词频,这里代码相同,爬取只只需改动htmlnum中的数据即可。最后输出csv文件。

1480617-20190428152636125-1106583900.png

在线生成词云如图

1480617-20190428152841178-1409095494.png

1480617-20190428152848766-617533182.png

1480617-20190428152856671-148687332.png

PS:以上仅为官网数据,不代表个人观点

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,你可以使用爬虫技术来爬取王者荣耀英雄图片。以下是一个简单的示例代码来演示如何使用Python爬取王者荣耀英雄图片: ```python import requests import os def download_image(url, save_path): response = requests.get(url) with open(save_path, 'wb') as f: f.write(response.content) def crawl_hero_images(): # 创建保存图片的文件夹 if not os.path.exists('hero_images'): os.makedirs('hero_images') # 发送请求获取英雄列表 hero_list_url = 'https://api.example.com/heroes' response = requests.get(hero_list_url) hero_list = response.json() # 遍历英雄列表,爬取每个英雄的皮肤图片 for hero in hero_list: hero_name = hero['name'] skin_list = hero['skins'] for skin in skin_list: skin_name = skin['name'] image_url = skin['image_url'] save_path = f'hero_images/{hero_name}_{skin_name}.jpg' download_image(image_url, save_path) print(f'Successfully downloaded {hero_name} - {skin_name} image.') crawl_hero_images() ``` 上述代码中,我们首先创建了一个`download_image`函数,用于下载图片。然后,我们定义了一个`crawl_hero_images`函数,用于爬取英雄皮肤图片。在该函数中,我们首先发送请求获取英雄列表,然后遍历英雄列表,对于每个英雄,再遍历其皮肤列表,获取皮肤图片的URL,并使用`download_image`函数下载图片到本地。 请注意,上述代码中的URL和文件路径仅作为示例,请根据实际情况进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值