Sie möchten json häufig mit einem kleinen Python3-Skript (entsprechend) POSTEN.
Zuerst Beispielcode.
import urllib.request, json
if __name__ == '__main__':
url = "http://xxxx/xxxx"
method = "POST"
headers = {"Content-Type" : "application/json"}
#Konvertieren Sie das Python-Objekt in JSON
obj = {"xxx" : "xxxx", 123 : 123}
json_data = json.dumps(obj).encode("utf-8")
#Bereiten Sie die http-Anfrage und den POST vor
request = urllib.request.Request(url, data=json_data, method=method, headers=headers)
with urllib.request.urlopen(request) as response:
response_body = response.read().decode("utf-8")
Verwenden Sie als einfaches Beispiel ["Niko Niko Video" Snapshot Search API "" (search.nicovideo.jp/docs/api/snapshot.html), um die Suchergebnisse von "Yukari Yuzuki" wiederzugeben. Ich möchte 30 Videos mit einer großen Anzahl bekommen.
import urllib.request, json
if __name__ == '__main__':
url = "http://api.search.nicovideo.jp/api/snapshot/"
method = "POST"
obj = {
"query" : "Yuitsuki Yukari",
"service" : ["video"],
"search" : ["title", "description", "tags"],
"join" : ["title", "view_counter"],
"sort_by" : "view_counter",
"order" : "desc",
"size" : 30,
"issuer" : "xxxxxxxxxxxxxxxxxxxxx"
}
json_data = json.dumps(obj).encode("utf-8")
headers = {"Content-Type" : "application/json"}
request = urllib.request.Request(url, data=json_data, headers=headers, method=method)
with urllib.request.urlopen(request) as response:
response_body = response.read().decode("utf-8")
result_objs = json.loads(response_body.split('\n')[0])
for result_obj in result_objs["values"]:
print("{0:<10}{1}".format(result_obj["view_counter"], result_obj["title"]))
#2903887 [Hatsune Miku] Dies ist der Ausschuss für Glück und Sicherheit. 【Original】
#2331059 Nur w na w gi w te w te w wa www (Shinofue-Entzugssymptom L5)
#1979283 [Minecraft] Guerilla Craft Baue eine Verteidigungslinie um dich herum und verbreite Landminen.#1
#1896978 [Minecraft] Guerilla Craft Baue eine Verteidigungslinie um dich herum und verteile Landminen.#5
#1805589 [Minecraft] Yukari "Lass uns den Magierturm in die Luft jagen" Teil1 [VOICE ROID+Der wirkliche Zustand]
#1662622 [Yukari Yuzuki] Ich hatte ein Monster ohne Namen gesungen [PSYCHO-PASS】
#1617931 [Minecraft] Guerilla Craft Baue eine Verteidigungslinie um dich herum und verteile Landminen.#3
#1587257 [Hatsune Miku] Ich habe einen Weg gefunden, für immer glücklich zu sein. 【Original】
#1531263 [Yukari Yuzuki] Es scheint einen versteckten Befehl zu geben, der dich glücklich macht [Original]
#1499237 [Minecraft] Guerilla Craft Baue eine Verteidigungslinie um dich herum und verbreite Landminen.#2
#1424024 [Yuzuki-verwandt] Churrilla Churrilla Daddadda!
#1391173 [Minecraft] Guerilla Craft Baue eine Verteidigungslinie um dich herum und verbreite Landminen.#7
#1356847 [Minecraft] Guerilla Craft Baue eine Verteidigungslinie um dich herum und verbreite Landminen.#6
#1354592 [Minecraft] Yukari "Lass uns den Magierturm in die Luft jagen" Teil3 [VOICEROID+Der wirkliche Zustand]
#1261669 [Minecraft] Yukari "Lass uns den Magierturm in die Luft jagen" Teil2 [VOICEROID+Der wirkliche Zustand]
#1241053 [Minecraft] Guerilla Craft Baue eine Verteidigungslinie um dich herum und verbreite Landminen.#8
#1223469 [Minecraft] Guerilla Craft Baue eine Verteidigungslinie um dich herum und verbreite Landminen.#4
#1201715 [Minecraft] Yukari "Lass uns den Magierturm in die Luft jagen" Teil4 [VOICEROID+Der wirkliche Zustand]
#1182955 [Minecraft] Guerilla Craft Baue eine Verteidigungslinie um dich herum und verbreite Landminen.#9
#1177519 [Minecraft] Yukari "Lass uns den Magierturm in die Luft jagen" part9 [VOICE ROID+Der wirkliche Zustand]
#1069852 [MAYU] Ein kleines Glück, das ich verwirklichen möchte. 【Original】
#1045793 [Minecraft] Guerilla Craft Baue eine Verteidigungslinie um und verteile Landminen ⑩
#1040149 [Minecraft] Yukari "Lass uns den Magierturm in die Luft jagen" Teil 5 [STIMME+Der wirkliche Zustand]
#1008825 [Minecraft] Yukari "Lass uns den Magierturm in die Luft jagen" Teil6 [STIMME+Der wirkliche Zustand]
#993675 [Yuzuki-bezogen] Auf Wiedersehen Kettensäge
#963262 [Minecraft] Yukari "Lass uns den Magierturm in die Luft jagen" Teil7 [VOICE ROID+Der wirkliche Zustand]
#927444 [Minecraft] Yukari "Lass uns den Magierturm in die Luft jagen" Teil8 [VOICEROID+Der wirkliche Zustand]
#895328 [Minecraft] Guerilla Craft Baue eine Verteidigungslinie um und verteile Landminen ⑫
#892567 [Minecraft] Yukari "Lass uns den Magierturm in die Luft jagen" letzte Folge [VOICE ROID+Der wirkliche Zustand]
#878046 [Minecraft] Guerilla Craft Baue eine Verteidigungslinie um und verteile Landminen ⑪
Es gibt einige Einschränkungen, daher werde ich sie auch kurz vorstellen.
data
von urllib.request.Request ()
angegebene Argument, müssen vom Typ bytes
sein. Kurz gesagt, str
funktioniert nicht und Sie müssen es mit encode ()
| etc. Konvertieren.json.dupms ()
konvertiert ein Python-Objekt in einen json-String ( str
). Es gibt auch eine Methode mit einem ähnlichen Namen, "json.dump ()", aber das ist anders.json.loads ()
und json.load ()
unterschiedlich.Recommended Posts