爬蟲小程式 - 爬取王者榮耀全皮膚
學習原因:
爬蟲是一門有趣的技術,它可以讓我們感受到程式的魅力,給我們帶來視覺衝擊感和成就感,可以極大地提高我們對程式設計的學習興趣。
——————
願你我,都能:
遵循君子協議
合理使用技術
提高學習興趣
一. 君子協議
為什麼每次被抓的都有你~
我們應該自覺遵守君子協議(爬蟲協議的俗稱),掌握爬蟲的技術。
在對應網址之後增加 /robots.txt, 即可檢視爬蟲協議,知道哪些頁面是不可爬取的,爬蟲協議具體內容可自行百度瞭解。
例如: https://www.baidu.com/robots.txt
二. 使用者代理
偽裝術,我是平民~
網站可以識別出是程式還是瀏覽器訪問的, 具有反爬蟲措施, 所以需要進行偽裝, 偽裝需要新增使用者代理(User-Agent)
查詢方法1: 網址中輸入 about:version
查詢方法2: 檢視請求頭的中User-Agent
操作流程:在任意頁面,比如:百度搜尋頁,首先點一下滑鼠右鍵,點選檢查。接著,點選Network,點選頁面重新整理,在Name下點選任意一條,比如:www.baidu.com。最後,在Headers中滑到最下方,找到User-Agent,複製使用者代理。
三,爬蟲程式碼:
流程:
- 明確目標,爬取王者榮耀全皮膚;
- 分析過程,進網站通過抓包瞭解皮膚圖片的儲存位置;
- 拆解步驟,找出皮膚圖片的儲存規律,把實現步驟拆解成若干個;
- 逐步執行,獲取需要的引數,完善程式碼;
注意事項:
- 新增使用者代理,進行偽裝
- 新建同級資料夾pic,方便儲存皮膚圖片;
- 加快執行效率,可參考提高爬蟲效率的技術
- 具體操作流程,可參考其他文章資源,此處只有效果
檔案構架:
# 第一層:
mySpider(總資料夾,用來練習爬蟲技術)
# 第二層:
--pic(資料夾,用來儲存皮膚圖片)
--rongyao.py(python檔案,用來爬取榮耀全皮膚)
程式碼:
執行條件:程式碼中新增使用者代理,總資料夾下新建pic資料夾(要與python檔案在同一級哦)。
# 1.匯入所需模組
import requests
# 2.讀取json檔案
url = 'http://pvp.qq.com/web201605/js/herolist.json'
headers = {'User-Agent':'此處省略,替換成自己的使用者代理'} # 新增使用者代理
response = requests.get(url, headers=headers)
json_list= response.json()
# print(len(json_list)) # 英雄總數量:95個英雄
# print(json_list) # 列印結果,瞭解json_list的構造
try:
# 3.提取json檔案,下載圖片
for m in range(len(json_list)):
# 英雄編號
hero_num = json_list[m]['ename']
# 英雄名稱
hero_name = json_list[m]['cname']
# 獲取皮膚列表
skin_name = json_list[m]['skin_name'].split('|')
# 統計皮膚數量
skin_count = len(skin_name)
print('英雄名稱:',hero_name,' 皮膚數量:',skin_count) # 列印英雄的皮膚數量
# 遍歷每一個圖片網址
for i in range(1, skin_count + 1):
# 網址拼接, 構造完整的圖片網址
url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' # 圖片網址固定字首
url_pic = url + str(hero_num) + '/' + str(hero_num) + '-bigskin-' + str(i) + '.jpg'
# 獲取圖片資訊
picture = requests.get(url_pic).content
# print(picture) # 列印圖片網址
# 下載圖片 檔案路徑為: pic/英雄名-皮膚名.jpg (需要新建pic資料夾)
with open('pic/'+ hero_name + ' - ' + skin_name[i - 1] + '.jpg', 'wb') as f:
f.write(picture)
except KeyError as e:
# 捕獲異常:解決皮膚名稱全部列印完成後會報錯的問題
print('程式執行完畢!')
最終結果:
四,python檔案打包技術:
已將python檔案轉為exe可執行檔案,下載後執行exe檔案即可,例如:我們的電腦桌面的那些應用就是一個個exe檔案。其中使用的python檔案打包技術(下面提供跳轉連結),比較簡單,成功後可用像電腦軟體一樣直接執行在後臺,也方便分享給小夥伴哦。
>> 爬蟲程式下載連結,如下:
連結:https://pan.baidu.com/s/1L7DTYzkv_zRqX9zyAEZwhw
提取碼:0kzw
複製這段內容後開啟百度網盤手機App,操作更方便哦
由於多人頻繁使用,該程式可能已失效,在這僅作參考,建議自行將python檔案打包成可執行檔案。
想要學習python檔案打包技術,點選右邊的連結即可:python檔案打包技術
五,提高爬蟲效率的方法
普通的程式碼爬取資料的效率較低,若資料變多,那麼等待時間會大大加長,如何縮短爬取資料的時間,我們可以瞭解一些提高爬蟲效率的方法。
以上實現了檔案打包,直接在電腦上執行即可,無需使用python編輯器~
更多方法請點選跳轉:提高爬蟲效率的方法
相關文章
- python爬取王者榮耀皮膚Python
- 20行Python程式碼爬取王者榮耀全英雄皮膚Python
- Python爬取王者榮耀英雄皮膚高清圖片Python
- 用Python爬取"王者農藥"英雄皮膚Python
- Python教你一鍵獲得【王者榮耀全皮膚】~~~Python
- 用Python爬取《王者榮耀》英雄皮膚資料並視覺化分析,用圖說話Python視覺化
- 爬蟲爬取微信小程式爬蟲微信小程式
- python 爬蟲 mc 皮膚站 little skin 的簡單爬取Python爬蟲
- python 爬取 mc 皮膚Python
- Python 爬取 "王者榮耀.英雄桌布" 過程中的矛和盾Python
- 王者榮耀故事站小程式(nuxt + 小程式)UX
- 天美分享《王者榮耀》五週年李小龍限定皮膚創作歷程
- 論王者榮耀爭議頻出的皮膚錨點設計
- Python 第一個爬蟲,爬取 147 小說Python爬蟲
- 爬蟲:多程式爬蟲爬蟲
- 用Python爬取英雄聯盟(lol)全部皮膚Python
- 用PYTHON爬蟲簡單爬取網路小說Python爬蟲
- python爬蟲---網頁爬蟲,圖片爬蟲,文章爬蟲,Python爬蟲爬取新聞網站新聞Python爬蟲網頁網站
- 王者榮耀小喬怎麼玩?王者榮耀小喬技能介紹和玩法攻略
- 王者榮耀英雄以及英雄皮膚品質升級:新增英雄區域背景!
- 爬蟲之股票定向爬取爬蟲
- 《從零開始學習Python爬蟲:頂點小說全網爬取實戰》Python爬蟲
- 如何爬取視訊的爬蟲程式碼原始碼爬蟲原始碼
- 王者榮耀為什麼會保留銘文系統和皮膚屬性加成?
- Java爬蟲批量爬取圖片Java爬蟲
- 如何合理控制爬蟲爬取速度?爬蟲
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- Python3爬取英雄聯盟英雄皮膚大圖Python
- Python使用多程式提高網路爬蟲的爬取速度Python爬蟲
- 【爬蟲】利用Python爬蟲爬取小麥苗itpub部落格的所有文章的連線地址(1)爬蟲Python
- node:爬蟲爬取網頁圖片爬蟲網頁
- python 爬蟲 爬取 learnku 精華文章Python爬蟲
- Java爬蟲-爬取疫苗批次資訊Java爬蟲
- 提高爬蟲爬取效率的辦法爬蟲
- 爬蟲---xpath解析(爬取美女圖片)爬蟲
- 我和《王者榮耀》的48小時
- C語言爬蟲程式編寫的爬取APP通用模板C語言爬蟲APP
- 新手小白的爬蟲神器-無程式碼高效爬取資料爬蟲