我正在解析从网络爬网生成的 json 文件,并且只需要提取西班牙语文本;文本是英文和西班牙文的。json 是一个字典列表。我需要从值为“es”的键“humanLanguage”中提取值。
目前我提取所有文本的代码是:
url = urllib2.urlopen('https://website_data.json')
obj = json.load(url)
text = [li['text'] for li in obj]
由于 'humanLanguage' 是与 'text' 处于同一级别的键,因此我尝试将其作为第一遍以隔离值:
for value1 in obj[0]['humanLanguage']:
print value1
但这会垂直打印出“en”。至少我知道这是一种查找标签并识别英语或西班牙语的方法,但我不知道它为什么要垂直打印,也不知道如何解决这个问题。
我想要做的是有一个“if”语句,如果 'humanLanguage' == 'es',然后打印文本。但是我一直找不到写这个表达式的正确方法。
我在正确的轨道上吗?'if' 语句是实现这一目标的方法吗?如果是,我应该构造什么表达式?或者,还有更好的方法?