从json块中获取特定类型的所有标签

时间:2019-02-11 02:44:50

标签: python flask

我正在尝试创建一个网络应用程序,该应用程序将返回给定维基百科页面的所有编辑器的列表。我当前的设置如下:

from flask import Flask, request, render_template
import json,urllib.request

app = Flask(__name__)

@app.route('/')
def my_form():
    return render_template('my-form.html')

@app.route('/', methods=['POST'])
def my_form_post():
    text = request.form['text']
    processed_text = text.upper()


    data = urllib.request.urlopen(f'https://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles={text}&rvlimit=500&rvprop=timestamp%7Cuser%7Ccomment&format=json').read()
    output = json.loads(data)

    return (output)

现在,我收到“字典无法调用”的错误,但是如果我直接打印数据而不是输出,则不会出现此类错误。我的实际问题是如何获取查询>>页面中嵌入的所有“用户”标签并将其存储在列表中以进行打印。

2 个答案:

答案 0 :(得分:1)

我能够使用以下列表推导从返回的json中提取用户列表。如果返回的json中可能丢失键,则需要进行相应的更新以处理这些情况:

output = json.loads(data)
users = [revision.get('user') for value in output.get('query').get('pages').values() for revision in value.get('revisions')]

答案 1 :(得分:0)

data['Summary'].str.contains('FW:')
0     True
1    False
2     True
3      NaN
Name: Summary, dtype: object

我尝试是工人