python - 如何仅提取主题:此字符串的结果
问题描述
所以我写了一个代码来获取我在网站上发布的考试结果。但我不知道如何以 subjectName:subjectResults 格式输出结果。
我的输出是这样的,
HISTORY","subjectResult":"A"},{"subjectName":"SCIENCE","subjectResult":"B"},{"subjectName":"DRAMA & THEATRE(SINHALA)","subjectResult":"A "},{"subjectName":"商业和会计。STUDIES","subjectResult":"A"},{"subjectName":"INFOR. &通讯。TECHNOLOGY","subjectResult":"A"}],"studentInfo":[{"param":"Examination","value":"GCE (O/L) EXAMINATION"},{"param":"Year" ,"value":"2018"},{"param":"Name","value":"NANAYAKKARA IGALA ARCHCHIGE NAVINDU THARUKA PERERA"},{"param":"索引号","value":
我只需要逐行列出的主题及其结果。
这是我的脚本
import requests
import re
import time
index_number = "80299920"
URL = f'https://result.doenets.lk/result/service/OlResult?index={index_number}&nic='
while True:
try:
req = requests.get(URL)
x = req.content.decode('utf-8')
search = re.findall(r'\"subjectResults\":\[]', x)
if search:
print("No results yet")
time.sleep(0.001)
continue
else:
print("Results found")
res = requests.get(f'https://result.doenets.lk/result/service/OlResult?index={index_number}&nic=')
results=res.content
print(results)
exit()
except Exception:
print("ok")
解决方案
结果是JSON
格式,因此您可以对其进行解析并将其用作pythondict
res = requests.get(...)
result = res.get_json() # or result = json.loads(res.text)
for item in result['subjectResults']:
print(item['subjectName'] + ":" + item['subjectResult'])
# Printing
BUDDHISM:A
SINHALA LANGUAGE & LITT.:A
ENGLISH LANGUAGE:A
MATHEMATICS:A
HISTORY:A
SCIENCE:B
DRAMA & THEATRE(SINHALA):A
BUSINESS & ACCT. STUDIES:A
INFOR. & COMM. TECHNOLOGY:A
推荐阅读
- python - Python 在关闭另一个窗口之前不会运行新窗口
- java - KeyAgreement.generateSecret() 中的本机方法错误
- java - Android监听器在活动中工作但不在片段中
- php - 如何使用 preg_replace 从这个字符串中删除最后一个特殊字符?
- javascript - 如何使用用户名从我的数据库中为某个用户调用和回显一个值来识别用户
- angular9 - 角度调查动态问题渲染模板驱动或反应
- java - 布尔默认值 MapStruct
- amazon-web-services - 推荐用于 Adobe ColdFusion 生产环境的 Docker 映像是什么?
- c - C printf 可选小数位
- javascript - 重构 Express 代码并且无法确定变量范围