У меня есть простой скрипт Beautifulsoup, который периодически удаляет данные со страницы и сохраняет их в виде файла json.Однако каждый раз, когда он запускается, он просматривает множество одинаковых наборов URL-адресов и очищает множество одинаковых данных, а также любые новые опубликованные данные.Как я могу избежать дублирования?
Я пытался выбрать URL, которые уже были удалены, но не знаю, как создать логику, чтобы остановить ненужное дублирование в процессе очистки.
for i in urlrange:
urlbase = 'https://www.example.com/press-releases/Pages/default.aspx?page='
targeturl = urlbase+str(i)
req = requests.get(targeturl)
r = req.content
soup = BeautifulSoup(r,'lxml')
for row in soup.find_all('table', class_='t-press'):
for link in row.find_all('a'):
link = link.get('href')
link = 'https://www.example.com' + link
if link not in datalinks:
datalinks.append(link)
#print('New link found!')
else:
continue
pickling_on = open("links_saved.pkl","wb")
pickle.dump(datalinks, pickling_on)
pickling_on.close()
for j in datalinks:
req = requests.get(j)
r = req.content
soup = BeautifulSoup(r,'lxml')
for textdata in soup.find_all('div', class_='content-slim'):
textdata = textdata.prettify()
data.append({j:textdata})
json_name = "Press_Data_{}.json".format(time.strftime("%d-%m-%y"))
with open(json_name,'w') as outfile:
json.dump(data,outfile)
Я хотел бы очистить данные, не просматривая URL-адреса, которые уже были обработаны сценарием.