Моя цель - собрать все ссылки на определенный сайт. Этот веб-сайт является ведущим веб-сайтом, посвященным розничной торговле / электронной коммерции, поэтому я ожидаю, что количество ссылок, которые мне нужно собрать, будет очень высоким. Идея состоит в том, чтобы начать с посещения карты сайта и собрать каждую ссылку, доступную на этой странице. Затем для каждой собранной ссылки перейдите по этой ссылке и соберите другую группу ссылок, пока я не получу столько, сколько смогу.
У меня проблема с управлением очередью. Я использовал разные способы для отслеживания моего прогресса, но у меня много путаницы с таким множеством различных факторов, как структура и разные форматы сохранения, кажется, что действительно должны быть какие-то соглашения для этого?
Я нашел несколько разных библиотек, таких как «persist-queue» и стандартная библиотека очередей python, но основные проблемы заключаются в следующем. Я не могу сообразить, как сохранить свою очередь между запусками (так как количество ссылок для сбора очень велико), и при следующем запуске программы мне нужно иметь возможность начать с того места, где я остановился, и в то же время динамически добавление дополнительных ссылок в эту очередь, которые еще не были оценены.
Есть много разных компонентов, которые разбросаны по всей моей программе, поэтому ниже приведен лишь отрывок из тех способов, которыми я пытаюсь это сделать. В основном я делаю несколько серий проверок для правильной обработки этих данных, например:
for souplink in collectedlinks:
if souplink == '': continue
if rawsouplink in list_completerawlink: continue
if souplink in read_listlinks: continue
if not souplink in list_accumulated:
file_todo.write(souplink+'\n')
Любая помощь приветствуется