python3爬虫---抓取王者荣耀所有英雄皮肤原图

小项目:python3爬虫抓取王者荣耀所有英雄皮肤原图

Python环境:python3.6.4

author : Chris iven

效果图:

代码:

class WZRY_Hero(object):
    Origin_url = "http://pvp.qq.com/web201605/"
    

    def __init__(self,url):
        self.url = url

    def get_hero_info(self):

        res = requests.get(self.url)
        with open("herodata.json", "w", encoding="utf-8") as f:
            f.write(json.dumps(res.text))

        # JSON.LOADS() 将文本转换为json对象
        # JSON.DUMPS() json对象转换为文本
        with open("herodata.json", "r", encoding="utf-8") as f:
            str = json.loads(f.read())
        data2 = json.loads(str)

        hero_number = []
        hero_name = []

        for i in data2:
            hero_number.append(i.get("ename"))
            hero_name.append(i.get("cname"))

        #print(hero_name, '\n', hero_number)
        return hero_number, hero_name
    def write_to_mysql(self,url,):
        db = pymysql.connect("localhost","root","123456","game_skin","charset")
        pass


    def download_pic(self,url_number,name):
        i = 0
        while i < len(url_number):
            #//game.gtimg.cn/images/yxzj/img201606/skin/hero-info/169/169-bigskin-2.jpg
            j = 1
            while j < 8:
                old_url = "http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/"+str(url_number[i])+"/"+str(url_number[i])+"-bigskin-"+str(j)+".jpg"
                #new_url = old_url+"-bigskin-"+str(j)+".jpg"
                print(name[i]+'的下载的链接是:',old_url)
                response = requests.get(old_url,timeout=10)
                if "404 page not found" in response.text:
                    print("网页错误,无法打开!!!")
                    break
                else:
                    try:
                        os.mkdir("王者荣耀各英雄的皮肤/"+name[i])
                    except FileExistsError:
                        pass
                    print(name[i],"已经创建!!!")
                    with open("王者荣耀各英雄的皮肤/"+name[i]+"/"+str(j) + ".jpg", "wb")as f:
                        f.write(response.content)
                    print(name[i]+"已经下载完毕!!!")
                j+=1
            i+=1

    def Main(self):
        number ,name = self.get_hero_info()
        self.download_pic(number,name)



if __name__ == "__main__":

    url = "http://pvp.qq.com/web201605/js/herolist.json"
    wz = WZRY_Hero(url)
    wz.Main()

难度: *

大家可以尝试着交换思路,反正我是没找到皮肤的原名....



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值