2016-02-14 74 views
0

我目前正在編寫一個腳本,將請求發送到特定網頁並返回JSON響應。問題在於多個相同的請求返回,其中一些是HTML,另一個是JSON。我一直在研究如何繼續檢查,直到返回有效的JSON響應,但沒有運氣。這是我目前的:等待,直到收到有效的JSON響應 - Python

response = requests.get('http://www.samplewebpage.com') 
inputJSON = json.loads(response.text) 
exampleList = list(inputJSON['metaData'].values()) 
outputArray = [] 

有沒有簡單的方法來循環瀏覽json.loads等到響應是一個實際的JSON?

在此先感謝。

+1

「多個相同的請求回來」......這是否意味着您得到一個請求的多個響應?它不這樣工作。你怎麼知道你得到多個。 – tdelaney

+0

我發送請求的網站很奇怪,確實會從中返回多個響應。我查看了餅乾和標題,他們也是一樣的。它返回3個響應,其中兩個是原始HTML,另一個是需要最長時間加載的JSON。 –

回答

1
found = False 

while not found: 
    response = requests.get('URL') 
    try: 
     inputJSON = json.loads(response.text) 
     found = True 
     print('valid JSON') 
    except: 
     print('not valid JSON') 
     pass