Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用用户输入python搜索json_Python_Json - Fatal编程技术网

使用用户输入python搜索json

使用用户输入python搜索json,python,json,Python,Json,这就是json。我希望能够使用用户输入搜索标签和发送gfyId。这是我到目前为止的代码,但我不确定它是否有用。如果我输入“jihyo”,它会随机发送带有该标签的gfyId。或者,如果我进入“dahyun instagram”,它会随机发送一个带有这两个标签的gfyId。我希望它搜索所有符合参数的gfyId,并随机发送一个。我对编码非常陌生,因此如果有人能帮助我或为我指出正确的方向,我将不胜感激 import requests import json url = "https://api.gfy

这就是json。我希望能够使用用户输入搜索标签和发送gfyId。这是我到目前为止的代码,但我不确定它是否有用。如果我输入“jihyo”,它会随机发送带有该标签的gfyId。或者,如果我进入“dahyun instagram”,它会随机发送一个带有这两个标签的gfyId。我希望它搜索所有符合参数的gfyId,并随机发送一个。我对编码非常陌生,因此如果有人能帮助我或为我指出正确的方向,我将不胜感激

import requests
import json

url = "https://api.gfycat.com/v1/users/jukebaet/gfycats?"

r = requests.get(url, params=pram)

text_json = json.loads(r.content)

for g in text_json["gfycats"]:
    tags = (g["tags"])
    gfyid = (g["gfyId"])
    print(str(tags) + " " + gfyid)

json.dump(text_json, open("testdump.json", "w"), indent = 2)

您可以向用户请求内容,并在空格上拆分以获取单词。使用
set
可以使用
issubset
检查循环中当前元素的标记中是否包含所有单词,如果匹配,则将其保存在列表中

tags = set(input('What tags are looking for ? ').split(" "))
gfyids = []
for g in text_json["gfycats"]:
    if tags.issubset(set(g["tags"])):
        gfyids.append(g['gfyId'])

范例

What tags are looking for ? dahyun instagram
['slowmalegrayreefshark', 'severenaivebluetickcoonhound']

What tags are looking for ? jihyo
['anyignoranthorsefly']

试试看,让我们知道你哪里出了问题。请澄清到底是什么问题。看见另外,不要在pastebin上共享JSON,最好使问题尽可能独立。谢谢您的帮助