python爬虫源码_Python—爬虫:王者荣耀全套皮肤【附源码】
生活随笔
收集整理的這篇文章主要介紹了
python爬虫源码_Python—爬虫:王者荣耀全套皮肤【附源码】
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
怎么獲取全套皮膚?用錢買,或者用爬蟲爬取下來~雖然后者不能穿。這個案例稍微復雜一點,但是一個非常值得學習的項目。
具體實現(xiàn)思路:
- 分析網(wǎng)頁源代碼結(jié)構(gòu)
- 找到合適的入口
- 窮舉訪問并解析
- 爬取所有英雄所有皮膚圖片
代碼思路/程序流程:
我分析王者榮耀網(wǎng)站上面的英雄資料庫發(fā)現(xiàn)所有英雄的頁面基本上都是連貫的,并且還是偏向與靜態(tài)網(wǎng)頁沒有過多的JavaScript渲染,所以比較適合來一波窮舉遍歷爬蟲,但是速度也很快。
利用python語法字符串操作,列表操作,字典操作等等循環(huán)遍歷英雄頁面利用python列表切片索引和字符串拼接等等方法來解析HTML得到皮膚圖片鏈接和背景故事文本,將皮膚圖片二進制文件保存為png高清大圖,將所有英雄背景故事合并保存為文本文檔
下面是功能以及效果展示
整體展示
爬取效果展示-豐功偉績
王者榮耀【皮膚高清大圖爬蟲】源代碼如下
#!/usr/bin/env python # -*- encoding: utf-8 -*-import requests fo = open('./wzry-jpg/wzry-pf.txt', 'w')path = './wzry-jpg/' ls = [] for i in range(105,200):url = "http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{0}/{0}-bigskin-1.jpg".format(i)status_code = requests.request('get', url).status_codeif status_code != 200:continuefor j in range(1, 9):imgurl = url[:-5] + '{}.jpg'.format(j)response = requests.request('get', imgurl)if response.status_code != 200: continuels.append(imgurl)##下載print("開始下載第{}-{}個英雄皮膚圖片>>>".format(i,j), end='')with open(path+str(i)+'-'+str(j)+'.png', 'wb') as f:f.write(response.content)print('======下載完成======')for i in range(501,516):url = "http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{0}/{0}-bigskin-1.jpg".format(i)status_code = requests.request('get', url).status_codeif status_code != 200:continuefor j in range(1, 9):imgurl = url[:-5] + '{}.jpg'.format(j)response = requests.request('get', imgurl)if response.status_code != 200: continuels.append(imgurl)##下載print("開始下載第{}-{}個英雄皮膚圖片>>>".format(i,j), end='')with open(path+str(i)+'-'+str(j)+'.png', 'wb') as f:f.write(response.content)print('======下載完成======') ##print(ls)##連接寫入txt文件 for line in ls:fo.write(line+'n') fo.close()總結(jié)
以上是生活随笔為你收集整理的python爬虫源码_Python—爬虫:王者荣耀全套皮肤【附源码】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腿围怎么量的正确量法 腿围正确量法简述
- 下一篇: 披萨9寸够几个人吃 9寸披萨有多大