下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第教你用Python爬取英雄聯(lián)盟皮膚原畫1.先去《英雄聯(lián)盟》官網(wǎng)找到英雄及皮膚圖片的網(wǎng)址:
/data/info-heros.shtml
2.從上面網(wǎng)址可以看到所有英雄都在,按下F12查看源代碼,發(fā)現(xiàn)英雄及皮膚圖片并沒(méi)有直接給出,而是隱藏在JS文件中。這時(shí)候需要點(diǎn)開(kāi)Network,找到j(luò)s窗口,刷新網(wǎng)頁(yè),就看到一個(gè)champion.js的選項(xiàng),點(diǎn)擊可以看到一個(gè)字典——里面就包含了所有英雄的名字(英文)以及對(duì)應(yīng)的編號(hào)。
3.但是只有英雄的名字(英文)以及對(duì)應(yīng)的編號(hào)并不能找到圖片地址,于是回到網(wǎng)頁(yè),隨便點(diǎn)開(kāi)一個(gè)英雄,跳轉(zhuǎn)頁(yè)面后發(fā)現(xiàn)英雄及皮膚的圖片都在,但要下載還需要找到原地址,這是鼠標(biāo)右擊選擇“在新標(biāo)簽頁(yè)中打開(kāi)”,新的網(wǎng)頁(yè)才是圖片的原地址。
4.圖中紅色框就是我們需要的圖片地址,經(jīng)過(guò)分析知道:每一個(gè)英雄及皮膚的地址只有編號(hào)不一樣(/images/lol/web201310/skin/big266000.jpg),而該編號(hào)有6位,前3位表示英雄,后三位表示皮膚。剛才找到的js文件中恰好有英雄的編號(hào),而皮膚的編碼可以自己定義,反正每個(gè)英雄皮膚不超過(guò)20個(gè),然后組合起來(lái)就可以了。
二、推理代碼
第一步:獲取js字典
defpath_js(url_js):
res_js=requests.get(url_js,verify=False).content
html_js=res_js.decode("gbk")
pat_js=r'"keys":(.*),"data"'
enc=pile(pat_js)
list_js=enc.findall(html_js)
dict_js=eval(list_js[0])
returndict_js
第二步:從js字典中提取到key值生成url列表
defpath_url(dict_js):
pic_list=[]
forkeyindict_js:
foriinrange(20):
xuhao=str(i)
iflen(xuhao)==1:
num_houxu="00"+xuhao
eliflen(xuhao)==2:
num_houxu="0"+xuhao
numStr=key+num_houxu
url=r'/images/lol/web201310/skin/big'+numStr+'.jpg'
pic_list.append(url)
print(pic_list)
returnpic_list
第三步:從js字典中提取到value值生成name列表
defname_pic(dict_js,path):
list_filePath=[]
fornameindict_js.values():
foriinrange(20):
file_path=path+name+str(i)+'.jpg'
list_filePath.append(file_path)
returnlist_filePath
第四步:下載并保存數(shù)據(jù)
defwriting(url_list,list_filePath):
try:
foriinrange(len(url_list)):
res=requests.get(url_list[i],verify=False).content
withopen(list_filePath[i],"wb")asf:
f.write(res)
exceptExceptionase:
print("下載圖片出錯(cuò),%s"%(e))
returnFalse
第五步:執(zhí)行主程序
if__name__=='__main__':
url_js=r'/biz/hero/champion.js'
path=r'./data/'#圖片存在的文件夾
dict_js=path_js(url_js)
url_list=path_url(dict_js)
list_filePath=name_pic(dict_js,pa
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校硅pu球場(chǎng)專項(xiàng)施工方案
- 基坑施工專項(xiàng)施工方案
- 廠房預(yù)制梁吊裝施工方案
- 升壓站建筑工程混凝土基礎(chǔ)專項(xiàng)施工方案
- 鑿除橋梁護(hù)欄混凝土施工技術(shù)方案
- 2025年石臺(tái)縣幼兒園教師招教考試備考題庫(kù)帶答案解析(必刷)
- 2024年魯山縣招教考試備考題庫(kù)及答案解析(奪冠)
- 2024年鎮(zhèn)沅縣幼兒園教師招教考試備考題庫(kù)及答案解析(奪冠)
- 2025年邵東縣幼兒園教師招教考試備考題庫(kù)帶答案解析(必刷)
- 2025年遼寧省大連市單招職業(yè)傾向性考試題庫(kù)附答案解析
- 2026中國(guó)電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會(huì)成熟人才招聘?jìng)淇碱}庫(kù)及參考答案詳解1套
- 思政教師培訓(xùn)心得課件
- 2026國(guó)家國(guó)防科技工業(yè)局所屬事業(yè)單位第一批招聘62人備考題庫(kù)及參考答案詳解
- 大型船舶拆除方案范本
- LoRa技術(shù)教學(xué)課件
- 2025中央廣播電視總臺(tái)招聘144人筆試歷年題庫(kù)附答案解析
- 急性高原疾病課件
- 牧業(yè)公司生產(chǎn)安全預(yù)案
- 腦機(jī)接口科普
- 2025年湖北煙草專賣局招聘考試真題及答案
- 教育資源分享平臺(tái)管理框架模板
評(píng)論
0/150
提交評(píng)論