話不多說,直接分享你們代碼:爬蟲小程序 - 爬取王者榮耀全皮膚。

我們應該自覺遵守君子協議(爬蟲協議的俗稱),掌握爬蟲的技術。
在對應網址之後增加 /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編輯器~

更多方法請點擊跳轉:提高爬蟲效率的方法

發佈了39 篇原創文章 · 獲贊 28 · 訪問量 8500
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章