炉石传说 爬取全部卡牌

之前我30行爬了英雄联盟全部皮肤
这次爬炉石稍稍麻烦点,50行

网页分析

首先,我们分析炉石官方网站卡牌工具https://hs.blizzard.cn/cards/
通过源代码和Network分析,发现返回的卡牌是用post请求的json文件

请求数据为:
cardClass: hunter  #卡的类型:职业
keywords: 
standard: 1
t: 1576286199445 #时间串
cardSet: #费用
p: 1#页码(每页8张卡)

导入全部所需包

import urllib.request
import urllib.parse
import jsonpath
import json
import os
import time

请求并解析全部js

cardClasses=["druid","hunter","mage","paladin","priest","rogue","shaman","warlock","warrior","neutral"]lushi_urls = 'https://hs.blizzard.cn/action/cards/query'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}for cardClass in cardClasses:if not os.path.exists(cardClass):os.mkdir(cardClass)print("开始爬{}了".format(cardClass))for p in range(1,60):print(p)try:lushi_urls = 'https://hs.blizzard.cn/action/cards/query'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}data = {'cost': '','cardClass': cardClass,'keywords': '','standard': '1','t': int(time.time()),'cardSet': '','p': p}data = urllib.parse.urlencode(data).encode("utf-8")request = urllib.request.Request(url=lushi_urls, headers=headers, data=data)response = urllib.request.urlopen(request)content = response.read().decode('utf-8')jsondict = json.loads(content)card_names = jsonpath.jsonpath(jsondict, '$..cards..name')card_pics = jsonpath.jsonpath(jsondict, '$..cards..pic')

创建目录并保存文件

for i in range(len(card_names)):card_path=cardClass+"/"+card_names[i]+".png"urllib.request.urlretrieve(url=card_pics[i], filename=card_path)

完整全代码

import urllib.request
import urllib.parse
import jsonpath
import json
import os
import timeprint("努力成为爬虫大神")
timestart=time.time()
cardClasses=["druid","hunter","mage","paladin","priest","rogue","shaman","warlock","warrior","neutral"]lushi_urls = 'https://hs.blizzard.cn/action/cards/query'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}for cardClass in cardClasses:if not os.path.exists(cardClass):os.mkdir(cardClass)print("开始爬{}了".format(cardClass))for p in range(1,60):print(p)try:lushi_urls = 'https://hs.blizzard.cn/action/cards/query'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}data = {'cost': '','cardClass': cardClass,'keywords': '','standard': '1','t': int(time.time()),'cardSet': '','p': p}data = urllib.parse.urlencode(data).encode("utf-8")request = urllib.request.Request(url=lushi_urls, headers=headers, data=data)response = urllib.request.urlopen(request)content = response.read().decode('utf-8')jsondict = json.loads(content)card_names = jsonpath.jsonpath(jsondict, '$..cards..name')card_pics = jsonpath.jsonpath(jsondict, '$..cards..pic')for i in range(len(card_names)):card_path=cardClass+"/"+card_names[i]+".png"urllib.request.urlretrieve(url=card_pics[i], filename=card_path)except:continue
timeend=time.time()
print("一共用时:{}秒".format(timeend-timestart))

成果今晚的酒馆?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/46833.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我用python玩炉石传说(3)-----炉石卡牌套牌自动构建算法

本文共三个部分: 我用python玩炉石传说(1)-----炉石卡牌相关度分析的手动打分器我用python玩炉石传说(2)-----炉石卡牌套牌爬取器及自动分析卡牌相关度我用python玩炉石传说(3)-----炉石卡牌套…

(写着玩)Python仿网络游戏《炉石传说》,继上次部分代码展示

上一期: (写着玩)Python仿网络游戏《炉石传说》,使用LOL的卡牌进行模拟对局(版本1.0)_AMarvelZ的博客-CSDN博客

手动爬取炉石传说所有卡牌

笔者还记得是从大学开始的时候玩的炉石传说,还记得当时的版本只有黑石山,纳克萨玛斯,地精大战侏儒这些卡包,转眼间到了现在,炉石传说早已和之前的那个炉石传说不再一样了,还记得以前的卡牌套路冰法&#xf…

革命炉石传说,Gods Unchained

欢迎各位新老朋友,我们细说P2E(Play to Earn),为广大用户提供一个深入了解链游的平台。不定期的跟大家分享一些精品项目和最新链游方向,也欢迎大家关注我们。 我们第七期分享的是Gods Unchained,Gods Uncha…

卷没用的,我要被 AI 大模型抢走饭碗了

SOTA AI Devs Park 是专注于生成式 AI 领域的公益开发者社区,由生成式 AI 产业加速营 SOTA AI 支持建设,正在策划举办系列 Meetup 与闭门会,聚焦于同频交流生成式 AI 的前沿趋势与一线技术实践。 前不久我们出了一篇文章《AGI 变革&#xff1…

关于《更新win11之后我的edge浏览器打不开》这件事

win11更新后打不开edge浏览器的解决方法 1.打开此电脑,打开路径C:\Program Files (x86)\Microsoft\Edge\Application下的106.0.1370.42文件夹(版本可能不同,总之找到全是数字的文件夹) 2.找到msedgewebview2.exe文件,…

Edge地址栏搜索引擎换成Bing

‘设置’找到‘隐私,搜索和服务’ 地址栏和搜索 管理搜索引擎 添加保存设为默认值即可 以%s代替查询的URL: {bing:baseURL}search?q%s&{bing:cvid}

【PTA】 统计成绩2 (10分)

给定N个学生的基本信息,包括学号(由12个数字组成的字符串)、姓名(长度小于20的不包含空白字符的非空字符串)、高等数学成绩、C语言程序设计成绩,成绩均为[0,100]区间内的整数,要求统计高等数学成…

好分数网查成绩分数查排名服务平台_好分数免费查年级排名

好分数在线查年段排名,好分数在线查班级排名,好分数免费查询同学成绩 分数API是一个公益性的在线免费查排名软件 由作者一木独立开发 如果您方便的话可以下载软件后投币来支持我们 以维持服务器的正常支出,感谢各位 所需软件下载地址☞点我下载 教程开始 1.打开…

好分数学生家长查排名成绩-在线好分数查成绩入口

好分数在线查年段排名,好分数在线查班级排名,好分数免费查询同学成绩 分数API是一个公益性的在线免费查排名软件 由作者一木独立开发 如果您方便的话可以投币来支持我们 以维持服务器的正常支出,感谢各位 所需软件链接在文末 教程开始咯 1.打开 分数API APP&…

PTA 统计学生平均成绩与及格人数

7-3 统计学生平均成绩与及格人数 分数 15 作者 C课程组 单位 浙江大学 本题要求编写程序,计算学生们的平均成绩,并统计及格(成绩不低于60分)的人数。题目保证输入与输出均在整型范围内。 输入格式: 输入在第一行中给出非负整…

AI杂谈04 与Chat AI沟通代码与绘画的提词

BING AI:“与AI交流应该像与人交流一样,尊重对方的感受和权力。” 图源:文心一言 | 提词:少女机器人 漫画风格 作为小白,在使用AI生成代码的时候,耗过不少时间,栽过不少跟头,因此总…

一建证挂出去一年多少钱?

看专业、看专业、看专业,重要的事情说三遍。 目前在社保全国联网的情况下,如果不能转社保,一般很难挂出去,之前建筑、机电三年10万的光景已经一去不复返了! 价位建筑和机电一般1年2万最多,大部分需求是半年…

计算机二级考试和一建哪个难,一建比二建难很多吗?终于明白了

原标题:一建比二建难很多吗?终于明白了 作为一个报考过一建二建考生,发自内心的说一句一建比二建要难很多,不过这也可能是因为我不聪明吧,不是那种说只要我想学,就能学会的,我在学习方面是比较适…

专插本历年真题_21年专插本历年真题试卷无偿分享

👍1.专插本真题解读考试大纲 每年专插本的题型不会有太大变动,难度上下浮动也不会有很大出入,所以专插本真题具有十分大的权威性,对于每个备考的学生来说都是非常重要的。通过专插本历年真题我们可以了解到考试的 题型命题风格、 …

杨洋 武汉大学计算机学院,同济大学杨洋一建名师

bianhaipo 考证达人 05-10 TA获得超过9026个赞 这里给出我根据我对各位考生的问题总结出来的高考填报平行志愿的若干注意事项,供你参考: 首先,平行志愿是各个省市区的招生政策,与具体学校无关。就是说,大学是没有办法决…

2023年一建教材

一建教材用书包括4本分别是《建设工程法规及相关知识师》、《建设工程项目管理》、《建设工程经济》、《管理与实务》,管理与实务包括建筑工程、公路工程、铁路工程、民航机场工程、港口与航道工程、水利水电工程、市政公用工程、通信与广电工程、矿业工程、机电工程…

计算机及应用一建,计算机应用与维护专业可以参加一建考试吗?

计算机应用与维护专业可以参加一建考试吗?2018年一级建造师报名是在中国人事考试网,报名时间是在7月份。2018年一级建造师成绩也能查询了,2019年一级建造师备考也开始了,在等一段时间,2019年一级建造师就要报名了。现在已经知道2…

一建加试英语和计算机,一建和一造哪个考试难度大

一级建造师和一级造价师是建筑业含金量高的两大证书,难度相似。很多考生在这两者之间犹豫不决,不知道该选哪门考试。事实上,选择哪种考试更好,要看考生自身的实际工作需要。如果你有足够的时间和精力,你也可以两者兼而…

时间计算题100道_搞定一建经济中让你抓耳挠腮的计算题(1)

搞定一建经济中让你抓耳挠腮的计算题(1) 经济这一门的计算题是比较多,整本教材的计算题是在30个左右,其中几个比较难点的题是在第一章“工程经济”中出现,我们就来解决一下第一章中最重要的第二节“经济效果评价”中的…