hgame—Guess Who I Am
刚加入Vidar的兔兔还认不清协会成员诶,学长要求的答对100次问题可太难了,你能帮兔兔写个脚本答题吗?
看源码,上爬虫,加上cookie爬来看看。发现没有题目,我就懵了一小会儿,
在翻翻js,才发现有api,于是直接爬api,上脚本就好了。
#这个总脚本
import requests,json
import guessname
score_url="http://week-1.hgame.lwsec.cn:30515/api/getScore"
question_url="http://week-1.hgame.lwsec.cn:30515/api/getQuestion"
check_url='http://week-1.hgame.lwsec.cn:30515/api/verifyAnswer'
initialcookie={"session":"xxxxxxxxxxdxxx"}
def getscore():
score_html = requests.get(url=score_url, cookies=initialcookie)
score = json.loads(score_html.text)
print(score['message']) # 输出分数
return score['message']
def getquestion():
question_html = requests.get(url=question_url, cookies=initialcookie)
question = json.loads(question_html.text)
#print(question['message']) # 输出问题
return question['message']
def getanswer():
name = guessname.getanswer(getquestion())
data = {'id': name}
check_heml = requests.post(check_url, cookies=initialcookie, data=data)
check = json.loads(check_heml.text)
print(check['message'])
# 切换coookie
print(check_heml.cookies.values())
initialcookie['session'] = check_heml.cookies.values()[0]
print(initialcookie['session'])
if __name__=="__main__":
while getscore()<=100:
getscore()
getanswer()
#这个用来查询对应的id
import json
def getanswer(question):
n=0
#question='20级 / 歪脖手 / 想学运维 / 发呆业务爱好者'
sumline=""
for line in open(file='./guess2'):
n+=1
sumline += line
if n==6:
n=0
#print(sumline)
#print("-------------------")
result = json.loads(sumline)
sumline = ""
#print(result)
if result['intro']==question:
answer=result['id']
#print(question+"是"+answer)
#print("123")
else:
pass
return answer
if __name__=="__main__":
print(getanswer('20级 / 歪脖手 / 想学运维 / 发呆业务爱好者'))
这个文件我处理过,这样比较好写代码。处理成一堆json的样子。
flag