教你這樣做王者農藥的面板都是你的!
阿新 • • 發佈:2020-12-22
本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理
一、前言
聽說很多小夥伴喜歡王者榮耀這個moba類遊戲,下面老師帶大家把遊戲中所有英雄的面板圖片爬取下來一睹為快把。。。
二、課程亮點
1、分析url地址構成
2、資料的欄位提取
3、記錄程式執行時間
三、所用到得庫
import requests # 第三方模組
import time # 時間模組
import pprint # 格式化輸出模組
四、環境配置
python 3.6
pycharm
requests
五、找尋資料地址:
# 記錄程式執行的開始時間(時間戳) start_time = time.time() # 找資料地址 url = 'https://pvp.qq.com/web201605/js/herolist.json'
六、傳送網路請求
# 傳送網路請求
response = requests.get(url=url)
json_data = response.json()
# pprint.pprint(json_data)
七、完整程式碼:
# 資料提取 id(ename) 英雄名字(cname) 面板數量(skin_name) for data in json_data: cname = data['cname'] # 英雄名字 ename = data['ename'] # 英雄id(ename) try: skin_name = data['skin_name'].split('|') # 面板數量(skin_name) except: pass # print(cname, ename, skin_name) # 構建面板數量的迴圈 """ http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/106/106-bigskin-7.jpg http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/ + 英雄id + '/' + 英雄id + -bigskin- + 面板數量 + '.jpg' """ for skin_num in range(1, len(skin_name) + 1): skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(ename) + '/' + str( ename) + '-bigskin-' + str(skin_num) + '.jpg' # print(skin_url) # 請求每一個圖片地址資料 skin_data = requests.get(skin_url).content # 圖片資料的儲存 英雄名字 + 面板名字 + 檔案尾綴 with open('pic\\' + cname + '-' + skin_name[skin_num - 1] + '.jpg', mode='wb') as f: f.write(skin_data) print('儲存完成:', cname + '-' + skin_name[skin_num - 1]) all_time = time.time() - start_time print('共花費時間(單位秒): ', all_time)
結尾
爬蟲是非常有趣的,因為它非常直觀,視覺衝擊感強,寫出來也很有成就感,爬蟲雖然強大,但千萬不能隨意爬取隱私資訊。
想要獲取更多Python學習資料可以加
QQ:2955637827私聊
或加Q群630390733
大家一起來學習討論吧!