佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Python爬蟲獲取op.gg英雄聯(lián)盟英雄對位勝率的源碼

Python爬蟲獲取op.gg英雄聯(lián)盟英雄對位勝率的源碼

熱門標(biāo)簽:電話運(yùn)營中心 呼叫中心市場需求 語音系統(tǒng) 硅谷的囚徒呼叫中心 企業(yè)做大做強(qiáng) 百度AI接口 客戶服務(wù) Win7旗艦版

通過第三方BeautifulSoup庫來爬取op.gg網(wǎng)頁靜態(tài)數(shù)據(jù)

主要思路

op.gg網(wǎng)站

網(wǎng)站以出場率高低排名,并且列出對位勝率,在高出場率的前提下,勝率有很大的參考意義,在counter位很有幫助

通過開發(fā)者工具找到對應(yīng)部位源碼,發(fā)現(xiàn)數(shù)據(jù)就在源碼中,證明這是一個靜態(tài)數(shù)據(jù),確定使用BeautifulSoup庫。

源碼

import requests
from bs4 import BeautifulSoup

championname={'阿卡麗 ':'akali','牛頭':'alistar','阿木木':'amumu','冰鳥':'anivia','安妮':'annie','艾希':'ashe','機(jī)器人':'blitzcrank','火男':'brand','女警':'caitlyn',
    '蛇女':'cassiopeia','大蟲子':'chogath','飛機(jī)':'corki','諾手':'darius','皎月':'diana','蒙多':'drmundo','德萊文':'delevin','蜘蛛':'elise',
    '寡婦':'evelynn','ez':'ezreal','稻草人':'fiddlesticks','劍姬':'fiora','魚人':'fizz','加里奧':'galio','船長':'gangplank','蓋倫':'garen',
    '酒桶':'gragas','人馬':'hecarim','大頭':'heimerdinger','刀妹':'irelia','鳳女':'janna','皇子':'jarvaniv','賈克斯':'jax','杰斯':'jayce','卡爾瑪':'karma',
    '死歌':'karthus','卡薩丁':'kassadin','卡特':'katarina','天使':'kayle','凱南':'kennen','螳螂':'khazix','大嘴':'kogmaw','妖姬':'leblanc','盲僧':'leesin','女坦':'Leona','露露':'lulu','拉克絲':'Lux',
    '石頭人':'Malphite','馬爾扎哈':'Malzahar','大樹':'Maokai','劍圣':'Yi','女槍':'MissFortune','猴子':'Monkeyking','鐵男':'Mordekaiser','莫甘娜':'Morgana'
    ,'娜美':'Nami','狗頭':'Nasus','泰坦':'Nautilus','豹女':'Nidalee','夢魘':'Nocturne','雪人':'Nunu','奧拉夫':'Olaf','發(fā)條':'Orianna','潘森':'Pantheon','波比':'Poopy','龍龜':'Rammus','鱷魚':'Renekton','獅子狗':'Rengar',
    '瑞文':'Rivan','蘭博':'Rumble','瑞茲':'Ryze','豬女':'Sejuani','小丑':'Shaco','慎':'Shen','龍女':'Shyvana','煉金':'Singed','塞恩':'Sion','希維爾':'Sivir','蝎子':'Skarner','琴女':'Sona','奶媽':'Soraka','烏鴉':'Swain','辛德拉':'Syndra'
    ,'男刀':'Talon','寶石':'Taric','提莫':'Teemo','錘石':'Thresh','小炮':'Tristana','巨魔':'Trundle','蠻王':'Tryndamere','卡牌':'TwistedFate','老鼠':'Twitch','烏迪爾':'Udyr','厄加特':'Urgot','維魯斯':'Varus','薇恩':'Vayne',
    '小法':'Veigar','蔚':'Vi','維克托':'Viktor','吸血鬼':'Vladimir','狗熊':'Volibear','狼人':'Warwick','澤拉斯':'Xerath','趙信':'XinZhao','掘墓':'Yorick','劫':'Zed','炸彈人':'Ziggs','時光':'Zilean','婕拉':'Zyra','佐伊':'zoe','永恩':'yone','薩米拉':'samira','亞索':'yasuo',
    '塞拉斯':'sylas','盧錫安':'lucian','艾克':'ekko','阿貍':'ahri','瑟提':'sett','奇亞娜':'qiyana','龍王':'aurelionsol','克烈':'kled','妮蔻':'neeko'

  }
position_all = {'top':'top','jun':'jungle','mid':'mid','ad':'bot','sup':'support'}
#由于網(wǎng)站反爬蟲機(jī)制,使用請求通來偽裝成瀏覽器,否則會被檢測為爬蟲,爬取數(shù)據(jù)失敗
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36'}
name_input = input('輸入名字:')
myname = championname[name_input]
myposition = input('輸入位置:')
position = position_all[myposition]
print('正在查詢,請稍等~~~')
#向url發(fā)出請求,將請求頭傳入,返回結(jié)果保留在res中,res為response對象
res = requests.get('http://www.op.gg/champion/{}/statistics/{}/matchup'.format(myname,position),headers=headers)
#res.text是要解析的網(wǎng)頁源代碼,html。parser是python的解析器
soup = BeautifulSoup(res.text,'html.parser')

#find方法返回tag對象,find_all返回有tag對象組成的列表,tag是BeautifSoup中的對象
#查找class屬性為champion-matchup-champion-list__item的div標(biāo)簽,組成名為items的列表
items = soup.find_all('div',class_='champion-matchup-champion-list__item')

print('英雄 勝率')

for i in items:
 #div中的data-champion-name屬性值為英雄名字
 name = i['data-champion-name']
 #div屬性中的data-value-winrate屬性值為查找的英雄勝率,這里轉(zhuǎn)換為供選擇的英雄勝率
 rate = 1-float(i['data-value-winrate'])
 print(name,'{}%'.format(round(rate*100,2)))

由于網(wǎng)址為英文,英雄英文名字個別十分難記難拼,所以我在字典中以中文名或者耳熟能詳?shù)耐馓枮閗ey,以url中英雄英文名為value,進(jìn)行輸入轉(zhuǎn)換。
位置使用top,jun,mid,ad,sup方便輸入。

到此這篇關(guān)于Python爬蟲獲取op.gg英雄聯(lián)盟英雄對位勝率的源碼的文章就介紹到這了,更多相關(guān)Python爬蟲英雄聯(lián)盟內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python3爬蟲爬取英雄聯(lián)盟高清桌面壁紙功能示例【基于Scrapy框架】
  • Python爬取OPGG上英雄聯(lián)盟英雄勝率及選取率信息的操作
  • python 爬取英雄聯(lián)盟皮膚并下載的示例
  • Python3爬取英雄聯(lián)盟英雄皮膚大圖實例代碼
  • 用Python爬取LOL所有的英雄信息以及英雄皮膚的示例代碼
  • python 爬取英雄聯(lián)盟皮膚圖片

標(biāo)簽:海南 山西 喀什 濟(jì)南 長沙 安康 山西 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python爬蟲獲取op.gg英雄聯(lián)盟英雄對位勝率的源碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    南乐县| 辉县市| 中西区| 额尔古纳市| 桓台县| 阜宁县| 和顺县| 江孜县| 沛县| 林州市| 高陵县| 迁安市| 尼木县| 雷山县| 涟水县| 金溪县| 贡嘎县| 崇仁县| 景洪市| 新乐市| 桐乡市| 吉安县| 梓潼县| 日喀则市| 历史| 丰县| 丽水市| 新郑市| 莱西市| 宁乡县| 大田县| 抚顺县| 伊川县| 塘沽区| 老河口市| 上饶市| 维西| 惠安县| 永安市| 四会市| 南江县|