工具
pycharm,fiddler
过程
1、当在网页上查看记录时,用到的网址为
url = 'https://ak.hypergryph.com/user/api/inquiry/gacha?page=%d&token=%s'
所以只需要得到token
2、在查找中,发现一个 token_by_cookie,显然不应该从这个方向入手
3、在登录时,通过fiddler,捕获到 一个叫做 token_by_phone_passworld的,其中输出的data中就包括我们所需要的token
url = 'https://as.hypergryph.com/user/auth/v1/token_by_phone_password'
传入json数据分别为phone 和 password
4、通过改变页数就可以获取所有的抽卡信息啦!
代码
import requests
url_get_token = 'https://as.hypergryph.com/user/auth/v1/token_by_phone_password'
json = {
"password": "123456",
"phone": "123456"
}
headers = {
}
re = requests.post(headers=headers, url=url_get_token, json=json, timeout=2)
# print(re.json())
if re.json()["msg"] == "OK":
token = re.json()["data"]["token"]
for page in range(1, 20):
url_get_msg = 'https://ak.hypergryph.com/user/api/inquiry/gacha?page=%d&token=%s' % (page, token)
re_msg = requests.get(url=url_get_msg)
list_chars = re_msg.json()["data"]["list"]
for list_char in list_chars:
chars = list_char["chars"]
for char in chars:
name = char["name"]
rarity = char["rarity"]
print(name + " " + repr(rarity + 1))
elif re.json()["msg"] == "需要人机验证":
print(re.json()["msg"])
!!多次运行的时候,会弹出人机验证,等几个小时就行,爬虫新人表示不会解决呀!!!