實用Python是如何爬取英雄聯盟(lol)所有皮膚,漲知識了

小三:「怎麼了小二?一副無精打彩的樣子!」html

小二:「唉!別提了,還不是最近又接觸了一個叫英雄聯盟的遊戲,遊戲中不少皮膚都須要花錢買,可是我錢不夠呀...」python

小三:「咋啦,錢攢夠了你還要買呀?還吃不吃飯了?!要我說,你乾脆將英雄的炫彩皮膚都爬下來欣賞一下得了,飯錢還給你省下了。」編程

小二:「你說的也對,畢竟吃飯更重要,那我仍是爬取皮膚欣賞一下算了。」python爬蟲

首先,咱們打開英雄聯盟官網主頁,網址爲:https://lol.qq.com/main.shtml,而後向下拉,能夠看到英雄列表,如圖所示:編程語言

接着隨意選一個英雄點擊進入看一下,如圖所示:工具

再點擊鼠標右鍵,接着選擇檢查,看一下皮膚的 URL,如圖所示:
悄悄地告訴你一個網站https://jq.qq.com/?_wv=1027&k...網站

經過觀察,能夠發現英雄皮膚 URL 組成方式爲:https://game.gtimg.cn/images/... + 英雄id + 皮膚id.jpg。spa

咱們先看皮膚id,也就是看皮膚的個數,選擇開發者工具的Network項,以後刷新一下頁面,能夠發現有一個17.js的請求,17實際就是英雄id,如圖所示:htm

圖片

再選擇Response項看一下相應數據,如圖所示:blog

圖片

咱們能夠看到數據都顯示在了一行,看着不太方便,咱們將其格式化看一下,如圖所示:

圖片

經過觀察,能夠發現獲取指定英雄皮膚id的 URL 就是:https://game.gtimg.cn/images/... + 英雄id.js,獲取皮膚id及下載皮膚圖片的代碼實現以下:

image

如今就差英雄id參數的獲取了,咱們接着看如何獲取所有的英雄id,返回到 https://lol.qq.com/main.shtml...,打開開發者工具並選擇Network,而後刷新頁面,咱們能夠觀察到有一個hero_list.js的請求,如圖所示:

圖片

與皮膚id的獲取基本相似,經過這個請求就能夠獲取到所有英雄id,代碼實現以下:

image

咱們能夠看出:代碼中除了英雄id,還獲取了英雄name,並將每個英雄的id、name放在了一個字典中,又將全部英雄對應的字典放在了列表中。

最後,咱們看一下下載效果:

圖片

總結:python是一門近十年很火的編程語言,lol皮膚是用python爬蟲所在網頁端爬取的,有着簡單的是咧告訴python是多麼強大.

相關文章
相關標籤/搜索