最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 爬取英雄聯(lián)盟皮膚圖片

 更新時(shí)間:2021年05月22日 08:52:16   作者:秋無之地  
還記得那些年一起網(wǎng)吧開黑通宵的日子嗎?《英雄聯(lián)盟》絕對是大學(xué)時(shí)期的風(fēng)靡游戲,即使畢業(yè)多年的大學(xué)同學(xué)相聚,難免不懷念一番當(dāng)時(shí)一起玩《英雄聯(lián)盟》的日子。今天就給大家分享一下英雄及皮膚圖片的爬蟲。

一開始都是先去《英雄聯(lián)盟》官網(wǎng)找到英雄及皮膚圖片的網(wǎng)址:

URL = r'https://lol.qq.com/data/info-heros.shtml'

從上面網(wǎng)址可以看到所有英雄都在,按下F12查看源代碼,發(fā)現(xiàn)英雄及皮膚圖片并沒有直接給出,而是隱藏在JS文件中。這時(shí)候需要點(diǎn)開Network,找到j(luò)s窗口,刷新網(wǎng)頁,就看到一個(gè)champion.js的選項(xiàng),點(diǎn)擊可以看到一個(gè)字典——里面就包含了所有英雄的名字(英文)以及對應(yīng)的編號(如下圖)。

但是只有英雄的名字(英文)以及對應(yīng)的編號并不能找到圖片地址,于是回到網(wǎng)頁,隨便點(diǎn)開一個(gè)英雄,跳轉(zhuǎn)頁面后發(fā)現(xiàn)英雄及皮膚的圖片都在,但要下載還需要找到原地址,這是鼠標(biāo)右擊選擇“在新標(biāo)簽頁中打開”,新的網(wǎng)頁才是圖片的原地址(如下圖)。

圖中紅色框就是我們需要的圖片地址,經(jīng)過分析知道:每一個(gè)英雄及皮膚的地址只有編號不一樣(http://ossweb-img.qq.com/images/lol/web201310/skin/big266000.jpg),而該編號有6位,前3位表示英雄,后三位表示皮膚。剛才找到的js文件中恰好有英雄的編號,而皮膚的編碼可以自己定義,反正每個(gè)英雄皮膚不超過20個(gè),然后組合起來就可以了。

圖片地址搞掂都就可以開始寫程序了:

第一步:獲取js字典

def path_js(url_js):
    res_js = requests.get(url_js, verify = False).content
    html_js = res_js.decode("gbk")
    pat_js = r'"keys":(.*?),"data"'
    enc = re.compile(pat_js)
    list_js = enc.findall(html_js)
    dict_js = eval(list_js[0])
    return dict_js

第二步:從 js字典中提取到key值生成url列表

def path_url(dict_js):
    pic_list = []
    for key in dict_js:
        for i in range(20):
            xuhao = str(i)
            if len(xuhao) == 1:
                num_houxu = "00" + xuhao
            elif len(xuhao) == 2:
                num_houxu = "0" + xuhao
            numStr = key+num_houxu
            url = r'http://ossweb-img.qq.com/images/lol/web201310/skin/big'+numStr+'.jpg'
            pic_list.append(url)
    print(pic_list)
    return pic_list

第三步:從 js字典中提取到value值生成name列表

def name_pic(dict_js, path):
    list_filePath = []
    for name in dict_js.values():
        for i in range(20):
            file_path = path + name + str(i) + '.jpg'
            list_filePath.append(file_path)
    return list_filePath

第四步:下載并保存數(shù)據(jù)

def writing(url_list, list_filePath):
    try:
        for i in range(len(url_list)):
            res = requests.get(url_list[i], verify = False).content
            with open(list_filePath[i], "wb") as f:
                f.write(res)

    except Exception as e:
        print("下載圖片出錯(cuò),%s" %(e))
        return False

執(zhí)行主程序:

if __name__ == '__main__':
    url_js = r'http://lol.qq.com/biz/hero/champion.js'
    path = r'./data/'   #圖片存在的文件夾
    dict_js = path_js(url_js)
    url_list = path_url(dict_js)
    list_filePath = name_pic(dict_js, path)
    writing(url_list, list_filePath)

運(yùn)行后會在控制臺打印出每一張圖片的網(wǎng)址:

在文件夾中可以看到圖片已經(jīng)下載好:

以上就是我的分享,如果有什么不足之處請指出,多交流,謝謝!

以上就是python 爬取英雄聯(lián)盟皮膚圖片的詳細(xì)內(nèi)容,更多關(guān)于python 爬取英雄聯(lián)盟圖片的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python技法之如何用re模塊實(shí)現(xiàn)簡易tokenizer

    Python技法之如何用re模塊實(shí)現(xiàn)簡易tokenizer

    當(dāng)我們在Python中開始新的東西時(shí),我通常首先看一些模塊或庫來使用,下面這篇文章主要給大家介紹了關(guān)于Python技法之如何用re模塊實(shí)現(xiàn)簡易tokenizer的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python中的異常處理:try?except?Exception?as?e解決辦法

    Python中的異常處理:try?except?Exception?as?e解決辦法

    這篇文章主要介紹了Python中的異常處理機(jī)制,包括try、except、finally語句的基本用法和高級用法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • Keras 中Leaky ReLU等高級激活函數(shù)的用法

    Keras 中Leaky ReLU等高級激活函數(shù)的用法

    這篇文章主要介紹了Keras 中Leaky ReLU等高級激活函數(shù)的用法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python實(shí)現(xiàn)批量將PPT轉(zhuǎn)換成長圖

    Python實(shí)現(xiàn)批量將PPT轉(zhuǎn)換成長圖

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)批量將PPT轉(zhuǎn)換成長圖,并且圖片名稱與PPT文件名稱相同,保存位置相同,感興趣的小伙伴可以了解下
    2023-08-08
  • 百分百成功的全網(wǎng)最簡約sklearn環(huán)境配置教程

    百分百成功的全網(wǎng)最簡約sklearn環(huán)境配置教程

    這篇文章主要介紹了百分百成功的全網(wǎng)最簡約sklearn環(huán)境配置教程,圖文全流程講解包簡單易懂,百分百成功,需要的朋友可以參考下
    2023-03-03
  • Python中dtype、type()和astype()的區(qū)別詳解

    Python中dtype、type()和astype()的區(qū)別詳解

    這篇文章主要介紹了Python中dtype、type()和astype()的區(qū)別詳解,type()是python內(nèi)置的函數(shù),type()返回?cái)?shù)據(jù)結(jié)構(gòu)類型(list、dict、numpy.ndarray 等),需要的朋友可以參考下
    2023-08-08
  • 使用Puppeteer爬取微信文章的實(shí)現(xiàn)

    使用Puppeteer爬取微信文章的實(shí)現(xiàn)

    這篇文章主要介紹了使用Puppeteer爬取微信文章的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Python獲取一個(gè)用戶名的組ID過程解析

    Python獲取一個(gè)用戶名的組ID過程解析

    這篇文章主要介紹了Python獲取一個(gè)用戶名的組ID過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • python繪制橫豎條形圖的方法

    python繪制橫豎條形圖的方法

    這篇文章主要為大家詳細(xì)介紹了python繪制橫豎條形圖的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • python自動(dòng)化測試selenium執(zhí)行js腳本實(shí)現(xiàn)示例

    python自動(dòng)化測試selenium執(zhí)行js腳本實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了python自動(dòng)化測試selenium執(zhí)行js腳本的實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11

最新評論

霍林郭勒市| 北辰区| 山西省| 奈曼旗| 全椒县| 泾川县| 台中市| 阳原县| 旌德县| 洛阳市| 穆棱市| 嘉善县| 宁晋县| 银川市| 乌鲁木齐县| 娄烦县| 南川市| 灵山县| 汤阴县| 英吉沙县| 滦平县| 沂南县| 锡林浩特市| 贞丰县| 获嘉县| 吉隆县| 济源市| 东丽区| 台州市| 富源县| 合肥市| 临沂市| 湘阴县| 东乌| 孟津县| 贵定县| 营口市| 广昌县| 琼中| 奉化市| 汤阴县|