尝试使用python

时间:2019-07-12 02:23:34

标签: python json parsing url python-requests

我正在尝试通过python和JSON API制作IP详细信息抓取器,但是在解析JSON数据时遇到了麻烦。

我已经尝试加载和转储数据,但是这些都不起作用,所以我对如何解析这些数据有0个想法。

#Importing
import requests
import json
import os

#Variables
cls = os.system('cls')
#Startup

cls #Clearing the console on startup

ipToSearch = input("Please enter the IP you wish to search: ")
saveDetails = input("Would you like to save the IP's deatils to a file? Y/N: ")

ip_JSON = requests.get(url="http://ip-api.com/json/" + ipToSearch).json()
ip_Data = json.loads(ip_JSON)
print(ip_Data)

我正在尝试解析IP的信息,但结果是当前出现此错误。

Traceback (most recent call last):
  File "main.py", line 16, in <module>
    ip_Data = json.loads(ip_JSON)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\json\__init__.py", line 341, in loads
    raise TypeError(f'the JSON object must be str, bytes or bytearray, '
TypeError: the JSON object must be str, bytes or bytearray, not dict

2 个答案:

答案 0 :(得分:0)

回溯是因为看起来您已经在上一行.json()上将其转换为json,然后尝试再次进行。

ip_JSON = requests.get(url="http://ip-api.com/json/" + ipToSearch).json()
ip_Data = json.loads(ip_JSON)

尝试

ip_JSON = requests.get(url="http://ip-api.com/json/" + ipToSearch).json()
print(ip_JSON)

答案 1 :(得分:0)

像这样尝试json.dumps

ip_JSON = requests.get(url="http://ip-api.com/json/" + ipToSearch).json()
ip_Data = json.dumps(ip_JSON)