zoukankan      html  css  js  c++  java
  • 爬虫小程序

    爬虫小程序 - 王者荣耀全皮肤爬取

    • 代码如下所示(可直接复制使用):

    import requests
    import re
    import os
    '''
    ps: 出现 <Response [405]>  多运行几次就好了
    '''
    
    def Downloed_ksin(ename, **kwargs):
        # 英雄详情页
        url = 'https://pvp.qq.com/web201605/herodetail/' + ename + '.shtml'
        html = session.get(url=url, headers=header)
        html.encoding = html.apparent_encoding
        # 获取皮肤名称
        skin_name = re.search(r'data-imgname="(.*?)">', html.text).group(1).split('|')
        infor = {}
        for num in range(len(skin_name)):
            infor[skin_name[num]] = 'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + ename + '/' + ename + '-bigskin-' + str(num+1) + '.jpg'
        # 返回 {皮肤名称:链接} 形式
        return infor
    
    url_post = 'https://pvp.qq.com/web201605/js/herolist.json'
    header = {
        "User-Agent": "Mozilla/5.0 (Windows NT 6.6; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36",
        "Referer": "https://pvp.qq.com/web201605/herolist.shtml",
    }
    session = requests.session()
    html = session.post(url=url_post, headers=header)
    print(html)
    for property in html.json():
        ename = str(property["ename"])  # 获取英雄编号
        cname = property['cname']  # 获取英雄名称
        print(cname)
        skin_url = Downloed_ksin(ename)  # 得到 {皮肤名称:链接} 形式
        os.makedirs('王者荣耀全皮肤' + '/' + str(cname))  # 创建目录
        for v, k in skin_url.items():
            img = requests.get(url=k, headers=header).content
            with open('王者荣耀全皮肤' + '/' + str(cname) + '/' + v + '.jpg', 'wb+') as imgfile:
                imgfile.write(img)
    
    
    • 运行代码后,就会生成高清图片,文件生成地在代码同级目录下.


    原皮+皮肤皆可保存,每个英雄都会以单独文件夹保存

  • 相关阅读:
    各种排序算法java实现,好文,做个备份
    一个SQL语句
    StrutsLayout tag library 1.1发布
    “单击将本站加入收藏夹”的代码
    IE无法上网连接的解决办法
    字符问题!
    Time Tracker Starter Kit 简介
    谈恋爱是百年好合的事
    一个sql语句
    ASP.NET 中的自定义脚本回调
  • 原文地址:https://www.cnblogs.com/chao460/p/12400739.html
Copyright © 2011-2022 走看看