Python爬虫教程:爬取王者荣耀全套皮肤【附源码】

怎么获取全套皮肤?用钱买,或者用爬虫爬取下来~虽然后者不能穿。这个案例稍微复杂一点,但是一个非常值得学习的项目。

具体实现思路:

  • 分析网页源代码结构

  • 找到合适的入口

  • 穷举访问并解析

  • 爬取所有英雄所有皮肤图片

代码思路/程序流程:

我分析王者荣耀网站上面的英雄资料库发现所有英雄的页面基本上都是连贯的,并且还是偏向与静态网页没有过多的JavaScript渲染,所以比较适合来一波穷举遍历爬虫,但是速度也很快。

利用python语法字符串操作,列表操作,字典操作等等循环遍历英雄页面利用python列表切片索引和字符串拼接等等方法来解析HTML得到皮肤图片链接和背景故事文本,将皮肤图片二进制文件保存为png高清大图,将所有英雄背景故事合并保存为文本文档

下面是功能以及效果展示

整体展示

Python爬虫教程:爬取王者荣耀全套皮肤【附源码】_第1张图片

爬取效果展示-丰功伟绩

Python爬虫教程:爬取王者荣耀全套皮肤【附源码】_第2张图片

王者荣耀【皮肤高清大图爬虫】源代码如下


#!/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_code
    if status_code != 200:
        continue
    for j in range(1, 9):
        imgurl = url[:-5] + '{}.jpg'.format(j)
        response = requests.request('get', imgurl)
        if response.status_code != 200:            
            continue
        ls.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_code
    if status_code != 200:
        continue
    for j in range(1, 9):
        imgurl = url[:-5] + '{}.jpg'.format(j)
        response = requests.request('get', imgurl)
        if response.status_code != 200:            
            continue
        ls.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()

对于初学者想更轻松的学好Python开发,爬虫技术,Python数据分析,人工智能等技术,这里也给大家准备了一套系统教学资源,加Python技术学习教程qq裙:855408893,免费领取。学习过程中有疑问,群里有专业的老司机免费答疑解惑!点击加入我们的 python学习圈

你可能感兴趣的:(Python爬虫教程:爬取王者荣耀全套皮肤【附源码】)