Можно. Написать нормально
Увы, говнокод на то и говнокод
но человек считает что все эти решения оверхед
который считает себя умнее остальных
Мы же тебе помочь хотим, а ты сопротивляешься
Поставь семафор на 100 одновременных соединений, тебе хватит
ValueError. Но при 300 соединениях все значительно медленнее.О каких потоках в asyncio ты говоришь?
soup.decompose() мог-бы помочь избавиться от утечки памяти? Сейчас перезапускать скрипт точно не буду, но в следующий раз попробую, может действительно беда в том, что не сразу из памяти удаляется объект soup. Хотя если это так в 100% случаев, то у меня сразу после запуска скрипта память закончилась-бы.
ValueError: too many file descriptors in select() при ~350-400 потоках. Этого недостаточно.
'//li[@id="l_pr"]/a[@onclick]'
browser.find_element_by_xpath('//*[@id="l_pr"]/a')
'y' таким образом вне зависимости от того введете вы Y или y оба варианта будут работать, что избавляет от возможных мелких проблем.if start.lower() not in ["y", "n"] and timer != "y": нужна для проверки, что на начальном этапе был выбран правильный вариант и при установке таймера так-же, иначе - возврат к началу с помощью continue