日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

如何运用python爬游戏皮肤_Python爬虫实战之 爬取王者荣耀皮肤

發(fā)布時間:2025/3/20 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何运用python爬游戏皮肤_Python爬虫实战之 爬取王者荣耀皮肤 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

王者榮耀是目前非常火的一款游戲,相信大家都對其中的人物很感興趣,那么今天就帶大家來爬取王者榮耀的皮膚,可以選一款喜歡的來當(dāng)電腦壁紙。第一步,拿到url地址

第二步,獲取各個人物皮膚數(shù)據(jù)

第三步,保存文件

第一步,拿到url地址

這是網(wǎng)站的初始url:

https://pvp.qq.com/web201605/wallpaper.shtml

進(jìn)入網(wǎng)站后,通過分析,我們觀察到壁紙的鏈接是在li標(biāo)簽下的a標(biāo)簽中:

但查看網(wǎng)頁源碼發(fā)現(xiàn),其中沒有找到想要的鏈接數(shù)據(jù),考慮接口分析。

在network抓包工具中,考慮圖片鏈接都放在列表中,從中找到帶有worklist字樣的數(shù)據(jù),從中找到了我們想要的數(shù)據(jù)。

需要注意,是第二個而不是第一個,因為第二個worklist包含了第一頁的20張圖片所有數(shù)據(jù),而第一個只有一張圖的數(shù)據(jù)。

這就是圖片的鏈接,只是經(jīng)過了一些處理:

在Headers下,可以從中得到目標(biāo)的url:

url = 'https://apps.game.qq.com/cgi-bin/ams/module/ishow/V1.0/query/workList_inc.cgi?

activityId=2735&sVerifyCode=ABCD&sDataType=JSON&iListNum=4&totalpage=0&p

age=0&iOrder=0&iSortNumClose=1&jsoncallback=jQuery17107950852797281271_1

597938787695&iAMSActivityId=51991&_everyRead=true&iTypeId=1&iFlowId=2677

33&iActId=2735&iModuleId=2735&_=1597938787974'

需要注意的是,請求時要把其中的callback參數(shù)刪掉。

url = 'https://apps.game.qq.com/cgi-bin/ams/module/ishow/V1.0/query/workList_inc.cgi?activityId=2735&sVerifyCode=ABCD&sDataType=JSON&iListNum=4&totalpage=0&page=0&iOrder=0&iSortNumClose=1&iAMSActivityId=51991&_everyRead=true&iTypeId=1&iFlowId=267733&iActId=2735&iModuleId=2735&_=1597938787974'

第二步,獲取各個人物皮膚數(shù)據(jù)

繼續(xù)分析抓包里的數(shù)據(jù),可以發(fā)現(xiàn)有20個人物的圖片鏈接及圖片人物名稱(每一個人物有8張圖片)。下面來獲取這些數(shù)據(jù)。

先導(dǎo)入相關(guān)模塊:

import requests

import json

from urllib import parse # 解碼網(wǎng)站

from urllib import request # 用于之后的文件下載

import os # 保存文件

構(gòu)造簡單的requests請求:

headers = {

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'

,'referer':'https://pvp.qq.com/web201605/wallpaper.shtml'

}

resp = requests.get(url,headers=headers)

# 將json數(shù)據(jù)轉(zhuǎn)換為字典數(shù)據(jù)

result = resp.json()

print result

結(jié)果如下:

接下來要把List下的各圖片鏈接提取出來,并做一個遍歷,代碼如下:

datas = result['List']

for data in datas:

# 獲取圖片url,并解碼(其中要把url中的200換成0,這樣的圖片更大)

image_urls = [parse.unquote(data['sProdImgNo_{}'.format(i)]).replace('200','0') for i in range(1,9)]

# 獲取圖片的名字,并解碼

name = parse.unquote(data['sProdName'])

print(image_urls)

print(name)

print('=' * 50)

這一步結(jié)果如下,可以看到20個人物的圖片鏈接及名字已經(jīng)爬取到:

第三步,保存文件

這里咱們使用之前導(dǎo)入的os模塊,這樣保存文件更方便,代碼如下:

# 創(chuàng)建文件夾 在文件夾image下創(chuàng)建各自的名字文件

dirpath = os.path.join('image',name)

os.mkdir(dirpath)

# 下載圖片(用enumerate()獲取到各鏈接的索引值)

for index, image_url in enumerate(image_urls):

request.urlretrieve(image_url, os.path.join(dirpath, '%d.jpg' % (index + 1)))

print('%s下載完成!' % (image_url))

結(jié)果如下:

這里需要注意,要提前在py文件所在文件夾創(chuàng)建image文件,否則報錯:提示文件路徑不存在。

至此,咱們對王者榮耀皮膚就爬取完畢了,感興趣的小伙伴自己可以試一試!

最近在知乎創(chuàng)建了一個新的Python技術(shù)圈子,在里面每天都會分享好玩有趣的Python知識,你如果對Python這門技術(shù)感興趣的可以加入哦!交個朋友Python技術(shù) - 知乎?www.zhihu.com

總結(jié)

以上是生活随笔為你收集整理的如何运用python爬游戏皮肤_Python爬虫实战之 爬取王者荣耀皮肤的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。