专栏首页python学习教程Python爬虫教程:爬取王者荣耀全套皮肤【附源码】

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

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

具体实现思路:

  • 分析网页源代码结构
  • 找到合适的入口
  • 穷举访问并解析
  • 爬取所有英雄所有皮肤图片

代码思路/程序流程:

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

利用python语法字符串操作,列表操作,字典操作等等循环遍历英雄页面利用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_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教程(pythonjc),作者:小雨

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python爬虫入门知识!

    Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取...

    python学习教程
  • Python骚操作!同事用Python操控浏览器运行,引的妹子围观不止!

    看起来虽然是三个方法,实质上还是一个, 区别只是在于传递的参数不同。webbrowser.open(url, new=0, autoraise=True)

    python学习教程
  • python学习教程,猜数字游戏开发

    猜数字(又称 Bulls and Cows )是一种古老的的密码破译类益智类小游戏,起源于20世纪中期,一般由两个人或多人玩,也可以由一个人和电脑玩。

    python学习教程
  • Nebula3学习笔记(1): 序

    逍遥剑客
  • 小程序微信支付errcode:40163问题

    就是code已经被使用了,必须再wx.login()一下拿code才可以。临时登录凭证code只能使用一次,被别的微信接口使用之后就不能再用了需要重新获取。。

    薛定喵君
  • 加州大学伯克利分校研究人员开源RAD来改进强化学习算法

    作者 | Michael Laskin、Kimin Lee、Adam Stooke、Lerrel Pinto、Pieter Abbeel、

    代码医生工作室
  • 启动SpringBoot的正确姿势

    课堂上,当小明形如流水地回答完沐芳老师提出来的问题时,却被至今没有对象的胖虎无情嘲讽了?

    程序员小明
  • 你的车票,我来负责!!!

    我们要爬取的信息是https://www.12306.cn/index/上的车票信息

    孤独的明月
  • 【目标检测】移动机器人在行人中安全导航的新方法,实时性超强!

    论文地址: http://arxiv.org/pdf/2004.10976v3.pdf

    CNNer
  • 自定义枚举 --- MyBatis字段映射

    ps: 参考资料写得特别好,我之所以重新写了一下,是资料写得有点啰嗦,比如子类的注册,其实都是自动的,不需要再额外配置

    十毛

扫码关注云+社区

领取腾讯云代金券