
文章目錄
- 前言
- 一、爬蟲是什么?
- 二、使用步驟
- 1.引入庫
- 2.訪問的URL
- 3、爬取思路
- 三、皮膚URL(需要手動找出)
- 完整代碼
- 四、效果展示
- 總結
前言
相信很多小伙伴們都喜歡玩王者榮耀這款MOBA手游吧,博主也非常喜歡玩這款手游,今天我就來教會大家如何用爬蟲爬取王者榮耀英雄的相關皮膚圖片,
一、爬蟲是什么?
網路爬蟲(又稱為網頁蜘蛛,網路機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取萬維網資訊的程式或者腳本,另外一些不常使用的名字還有螞蟻、自動索引、模擬程式或者蠕蟲,
二、使用步驟
1.引入庫
import requests # URL請求庫,向網頁發起請求
2.訪問的URL
在WWW上,每一資訊資源都有統一的且在網上唯一的地址,該地址就叫URL(Uniform Resource Locator,統一資源定位器),它是WWW的統一資源定位標志,就是指網路地址,
在本爬蟲中URL:https://pvp.qq.com/王者榮耀官網
3、爬取思路
我們寫這個爬蟲目的是爬取皮膚,為此我們需要在王者榮耀官網上找到英雄皮膚的資料包,那么如何找到這個資料包呢?
這就要用到鍵盤上的一個功能鍵【F12】,即開發者工具,(或者在網頁上右鍵–>檢查)

圖片所示的herolist.json檔案即是我們要找的資料包,我們可以先下載這個json檔案看看其內容,
[{
"ename": 105,
"cname": "廉頗",
"title": "正義爆轟",
"new_type": 0,
"hero_type": 3,
"skin_name": "正義爆轟|地獄巖魂"
}, {
"ename": 106,
"cname": "小喬",
"title": "戀之微風",
"new_type": 0,
"hero_type": 2,
"skin_name": "戀之微風|萬圣前夜|天鵝之夢|純白花嫁|繽紛獨角獸"
},{
...
},{
"ename": 528,
"cname": "瀾",
"title": "鯊之獵刃",
"new_type": 0,
"hero_type": 4,
"skin_name": "鯊之獵刃"
},{
"ename": 537,
"cname": "司空震",
"title": "雷霆之王",
"new_type": 1,
"hero_type": 1,
"hero_type2": 2,
"skin_name": "雷霆之王"}]
可以看到英雄的cname,ename以及skin_name,這對我們后續寫爬蟲有用
三、皮膚URL(需要手動找出)


皮膚URL鏈接
完整代碼
# 爬取王者榮耀全皮膚高清圖片
import requests
url = 'https://pvp.qq.com/web201605/js/herolist.json'
response = requests.get(url).json()
# print(response)
for i in range(len(response)):
ename = response[i]['ename']
cname = response[i]['cname']
title = response[i]['title']
if response[i]['skin_name'] is None:
print(ename,cname,title)
else:
skin_name = response[i]['skin_name'].split('|')
print(ename,cname,title,skin_name)
for i in range(1,len(skin_name)+1):
img_url = 'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{}/{}-bigskin-{}.jpg'.format(ename,ename,i)
picture = requests.get(img_url).content
with open('F:/clawer/hero_skins/'+cname+skin_name[i-1]+'.jpg','wb')as f:
f.write(picture)
print('正在下載'+skin_name[i-1]+'皮膚')
四、效果展示



總結
以上就是今天要講的內容,本文僅僅簡單介紹了爬蟲的定義,以及王者榮耀皮膚的爬取思路和實作代碼,有疑問的小伙伴可以在評論區留言哦!轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/257108.html
標籤:python
