Итак, я пытался создать монитор, который сравнивал бы два списка - Old_list и new_list, где old_list сохраняет текущие json-файлы, которые сохранены сейчас, и new_list, который проверяет, добавлен ли новый элемент, добавит его в новый список
Json:
sample = {
"threads": [
{
"seoTitle": "used cfood",
"other_crap": "yeet"
},
{
"seoTitle": "trucks",
"other_crap": "it's a fox!"
},
{
"seoTitle": "rockets",
"other_crap": "i'm rocket man"
},
{
"seoTitle": "helicopter",
"other_crap": "for 007",
"price": {
"currentRetailPrice": 1249.95
}
}
]
}
Код:
old_list = []
while True:
try:
url = 'www.helloworld.com'
resp = s.get(url)
new_list = resp.json()['threads']
for item in new_list:
if item['seoTitle'] not in old_list:
try:
print(item['seoTitle'])
print('item['other_crap'])) # Print other information
old_list.append(item['seoTitle'])
except Exception as e:
print(e)
print("ERROR")
time.sleep(5)
continue
else:
logger.warn("No new link found!")
time.sleep(5)
except Exception as e:
print(e)
continue
Что я заметил, проблема в том, что я считаю, что программа должна сравнить два списка, которые я сделал:
for item in new_list:
if item['seoTitle'] not in old_list:
но проблема в том, что каждый раз, когда он проверяет сравнение, он входит в метод try и зацикливается на нем каждый раз, что я считаю неправильным. Что он должен делать, так это то, что если нет ничего нового, то он должен просто выполнить метод Else . Что я сделал не так?
---- Он печатает каждый раз
print(item['seoTitle'])
print('item['other_crap'])) # Print other information
каждый раз вместо перехода на else: method.