本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理
( 想要學習Python?Python學習交流群:1039649593,滿足你的需求,資料都已經上傳群檔案流,可以自行下載!還有海量最新2020python學習資料, )
一、前言
聽說很多小伙伴喜歡王者榮耀這個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 =https://www.cnblogs.com/aa1273935919/p/ 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)
結尾
爬蟲是非常有趣的,因為它非常直觀,視覺沖擊感強,寫出來也很有成就感,爬蟲雖然強大,但千萬不能隨意爬取隱私資訊,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/238886.html
標籤:Python
