Так что я играл с Джсоном и немного сравнивал.
Так что в основном у меня есть Json, где некоторые элементы включены в некоторые элементы, а некоторые нет.
Проблема, с которой я сталкиваюсь, заключается в том, что скрипт продолжает сценарий снова и снова, но никогда ничего не делает из-за исключительной ситуации, когда он не может найти элементы и т. Д. Цена , оценкаLaunchDate , которая будет найден в этом Json
sample = {
"threads": [{
"seoTitle": "used food",
"other_crap": "yeet"
},
{
"seoTitle": "trucks",
"other_crap": "it's a fox!"
"product": {
"imageUrl": "https://imagerandom.jpg",
"price": {
"fullRetailPrice": 412.95
},
"estimatedLaunchDate": "2018-06-02T03:00:00.000",
"publishType ": "DRAW"
},
{
"seoTitle": "rockets",
"other_crap": "i'm rocket man"
},
{
"seoTitle": "helicopter",
"other_crap": "for 007"
"product": {
"imageUrl": "https://imagerandom.jpg",
"price": {
"fullRetailPrice": 109.95
},
"estimatedLaunchDate": "2018-06-19T00:00:00.000",
"publishType": "FLOW"
}
}
]
}
Как вы можете видеть, в некоторых элементах json содержится некоторая дополнительная информация, и у меня есть проблема: что / как я могу сделать так, чтобы она продолжалась или просто добавлялась и т. Д. "Цена не указана найдено ", " publishType not found " и все еще продолжите работу json?
Я сделал код, который делает это до сих пор:
old_list = []
while True:
try:
resp = requests.get("www.helloworld.com")
new_list = resp.json()['threads']
for item in new_list:
newitemword = item['seoTitle']
if newitemword not in old_list:
try:
print(newitemword) #item name
print(str(item['product']['price']['fullRetailPrice']))
print(item['product']['estimatedLaunchDate'])
print(item['product']['publishType'])
old_list.append(newitemword)
except Exception as e:
print(e)
print("ERROR")
time.sleep(5)
continue
else:
randomtime = random.randint(40, 60)
time.sleep(randomtime)
Как вы можете видеть, в методе try есть только 4 отпечатка, и если один из этих 3 (fullRetailPrice, оценкаLaunchDate, publishType) вызовет исключение, он не продолжит оставшуюся часть кода, что означает, что он уже умрет после "seoTitle": "trucks",
элемент!