gpt4 book ai didi

python - python 解析错误

转载 作者:行者123 更新时间:2023-12-01 05:30:38 24 4
gpt4 key购买 nike

import urllib
import json


url = "http://www.cvedetails.com/json-feed.php?numrows=10&vendor_id=0&product_id=0&version_id=0&hasexp=0&opec=0&opov=0&opcsrf=0&opfileinc=0&opgpriv=0&opsqli=0&opxss=0&opdirt=0&opmemc=0&ophttprs=0&opbyp=0&opginf=0&opdos=0&orderby=3&cvssscoremin=4"
response = urllib.urlopen(url)

data = json.loads(response.read())

for f in data:
a = json.loads(f)[u'update_date'][u'summary']

我有一个错误:

line 13, in <module>
a = json.loads(f)[u'update_date'][u'summary']

我想要该 json 的摘要,因为如果我只在 for 循环中打印 f var ,一切都可以。

{u'update_date': u'2013-11-25', u'cve_id': u'CVE-2013-6868', u'exploit_count': u'0', u'summary': u'SAP Sybase Adaptive Server Enterprise (ASE) 15.0.3 before 15.0.3 ESD#4.3, 15.5 before 15.5 ESD#5.3, and 15.7 before 15.7 SP50 or 15.7 SP100 allows local users to obtain sensitive information via unspecified vectors.', u'url': u'http://www.cvedetails.com/cve/CVE-2013-6868/', u'publish_date': u'2013-11-23', u'cvss_score': u'7.8', u'cwe_id': u'200'}
{u'update_date': u'2013-11-25', u'cve_id': u'CVE-2013-6867', u'exploit_count': u'0', u'summary': u'Unspecified vulnerability in SAP Sybase Adaptive Server Enterprise (ASE) 15.7 before 15.7 SP50 or 15.7 SP100 allows remote attackers to cause a denial of service via unspecified vectors.', u'url': u'http://www.cvedetails.com/cve/CVE-2013-6867/', u'publish_date': u'2013-11-23', u'cvss_score': u'7.1', u'cwe_id': u'0'}
{u'update_date': u'2013-11-27', u'cve_id': u'CVE-2013-6866', u'exploit_count': u'0', u'summary': u'SAP Sybase Adaptive Server Enterprise (ASE) before 15.0.3 ESD#4.3, 15.5 before 15.5 ESD#5.3, and 15.7 before 15.7 SP50 or 15.7 SP100 allows remote authenticated users to execute arbitrary code via unspecified vectors, aka CR736689.', u'url': u'http://www.cvedetails.com/cve/CVE-2013-6866/', u'publish_date': u'2013-11-23', u'cvss_score': u'9.0', u'cwe_id': u'94'}

我觉得这是一个基本错误,但我没有看到缺陷。

经过一番搜索后,我得到了预期的结果,但感谢所有快速帮助,这是最终的代码:

#cvedetails_parser.py
import urllib
import son


url = "http://www.cvedetails.com/json-feed.php?numrows=10&vendor_id=0&product_id=0&version_id=0&hasexp=0&opec=0&opov=0&opcsrf=0&opfileinc=0&opgpriv=0&opsqli=0&opxss=0&opdirt=0&opmemc=0&ophttprs=0&opbyp=0&opginf=0&opdos=0&orderby=3&cvssscoremin=4"
response = urllib.urlopen(url)

data = json.loads(response.read())

for f in data:
print "Update Date:", f['update_date']
print "CVE ID:", f['cve_id']
print "Number of Exploits:", f['exploit_count']
print "CVSS Score:", f['cvss_score']
print "Publish Date: ", f['publish_date']
print "Summary: ", f['summary']
print "\n"
print "--------------------------------"
print "--------------------------------"

最佳答案

第一次调用“data”后无需调用加载两次,因此其条目“f”也是 dict 类型

for f in data:
print f['update_date']
print f['summary']

关于python - python 解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20362779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com