我試圖創建一個循環通過API調用一個json字符串,因爲每個調用被限制爲200行。當我嘗試下面的代碼時,即使我讓代碼運行一個小時左右,循環似乎也不會結束。我希望提取的最大行大約是來自API的約200k行。Python 3.6 API while while循環到json腳本沒有結束
bookmark=''
urlbase = 'https://..../?'
alldata = []
while True:
if len(bookmark)>0:
url = urlbase + 'bookmark=' + bookmark
requests.get(url, auth=('username', 'password'))
data = response.json()
alldata.extend(data['rows'])
bookmark = data['bookmark']
if len(data['rows'])<200:
break
而且,我期待的循環過濾,僅輸出,如果JSON值「pet.type」是「小狗」還是「小貓」。一直無法弄清楚語法。
任何想法?
謝謝
嘗試在循環的每一輪中輸出'url'和'len(data ['rows'])''的值。 –
我不知道我明白你在做什麼。當你的行數少於200行時,你是否突破了,因爲這表明沒有更多數據需要消耗? – jsfan
@jsfan基本上每個API調用循環200行後,我希望循環打破一旦有少於200行留在「alldata」收集 – n4zy