專案02 王者榮耀英雄搜尋資料結構

2022-09-04 07:09:07 字數 3127 閱讀 1770

1,目標

1,從

獲取英雄描述檔案herolist.json

2,假定英雄型別標識如下

hero_type =["全部","戰士","法師","坦克","刺客","射手","輔助"]

3,從獲取英雄網頁列表,並且提出英雄名稱及頭像鏈結

4,從網頁提取英雄名稱和頭像鏈結資訊

5,合併兩個資訊並構建英雄詳細資訊資料列表,例如

['嫦娥','法師|戰士|坦克','寒月公主|露花倒影','game.gtimg.cn/images/yxzj/img201606/heroimg/515/515.jpg'],['上官婉兒','法師|全部|刺客','驚鴻之筆|修竹墨客','game.gtimg.cn/images/yxzj/img201606/heroimg/513/513.jpg'],]

6,構建易於搜尋的資料結構,並設計函式,實現搜尋函式

def lookup(index,keyword):

pass

2,**實現

import json

from bs4 import beautifulsoup as bs

import requests

0.1 database

r = requests.get('')

#從官網上找到英雄列表 json檔案

hero_list = json.loads(r.text)

hero_list = none

​## 儲存

with open("all_hero.json", 'wt',encoding="utf-8") as fd:

fd.write(r.text)

​# 恢復

with open('all_hero.json',encoding="utf-8") as json_data:

hero_list = json.load(json_data)

def search_for_hero_info(name=none):

for hero in hero_list:

if "cname" in hero:

if hero["cname"] == name:

return hero

return none

hero_type =["全部","戰士","法師","坦克","刺客","射手","輔助"]
from selenium import webdriver

​browser = webdriver.chrome('./chromedriver')

browser.get("")

html = browser.page_source

browser.quit()

## 儲存html

with open("hero_web.html", 'w',encoding="utf-8") as fd:

fd.write(html)

## 恢復儲存的html

hero_html = none

with open("hero_web.html", 'r',encoding="utf-8") as fd:

hero_html = fd.read()

hero_soup = bs(html,'lxml')

hero_html_list=hero_soup.find("ul",class_="herolist")

all_hero_list =hero_html_list.find_all("li")

gen_heros=[[info.text, info.img["src"].strip("/")] for info in all_hero_list]

combined_heros = merge_hero_info(gen_heros, hero_list)
## build up index

add_to_index

```index is[​

[,[,...]],

[,[,...]]...​]

keyword string

a url

```[

[unit,factor],]​

[​[keyword],[

['百里玄策', '刺客|全部', '囂狂之鐮|威尼斯狂歡', ''],

['百里玄策', '刺客|全部', '囂狂之鐮|威尼斯狂歡', ''],

['百里玄策', '刺客|全部', '囂狂之鐮|威尼斯狂歡', '']],​]

## use list for storage

['百里玄策', '刺客|全部', '囂狂之鐮|威尼斯狂歡', '']​​

add_to_index

index is [

[,[,...]],[,[,...]]...

]keyword stringa url

[ [unit,factor], ]

[[keyword],[ ['百里玄策', '刺客|全部', '囂狂之鐮|威尼斯狂歡', '

'], ['百里玄策', '刺客|全部', '囂狂之鐮|威尼斯狂歡', '

'], ['百里玄策', '刺客|全部', '囂狂之鐮|威尼斯狂歡', '

']],

]['百里玄策', '刺客|全部', '囂狂之鐮|威尼斯狂歡', '

']

def build_up_index(index_array):

"""建立搜尋資料列表

"""        

for hero_info in combined_heros:

keywords = get_keywords_array(hero_info)

for key in keywords:

add_to_index(index_array,key,hero_info)    

search_index=

build_up_index(search_index)

lookup(search_index,"蘇烈")

爬蟲獲取王者榮耀全英雄面板

coding utf 8 import os,requests,shutil 王者榮耀全英雄 def getherolistinfo url u 獲取到英雄列表資訊 param url return hero name list,hero number list herolist requests....

python 爬蟲提取王者榮耀英雄面板

僅供學習參考 import os import requests url herolist requests.get url 獲取英雄列表json檔案 herolist json herolist.json 轉化為json格式 hero name list map lambda x x cname ...

論王者榮耀英雄花木蘭

首先我們來看一下花木蘭的各個技能 被動技能 短劍狀態下連續5次攻擊可以沉默並減速敵方英雄,重劍狀態下,減攻速的同時增加50 的普攻傷害,而且使用技能時花木蘭處於霸體狀態並有50 的傷害減免。這個被動使花木蘭擁有抓對面英雄的資本,短劍的減速沉默控住對方再加上重劍的高攻高防完全可以打出 性傷害。技能一 ...