У меня есть список из примерно 100 веб-страниц HTML (все имеют различную структуру, такую как div, якоря, классы и т. Д.), И я пытаюсь очистить заголовок каждой страницы (где заголовок находится под определенным div и учебный класс). Для этого я использовал запросы get и Beautifulsoup, однако это занимает много времени (10 минут каждый раз, когда я хочу это сделать)!
Я использовал таймер, чтобы увидеть, что занимает больше всего времени: это запросы get. Очевидно, Python (3.7) выполняет код один за другим, и, поскольку каждый запрос get занимает около 5-6 секунд, для выполнения ~ 100 запросов требуется примерно 500-600 секунд.
Я искал способы заставить эти запросы работать быстрее и нашел много разных решений. Однако общей темой, по-видимому, было то, что выполнение моих запросов асинхронно (чтобы все запросы запускались одновременно) решило проблему (сделав ее быстрее).
Было много возможных решений для этого, которые я читал онлайн, включая: многопоточность, использование grequest, использование Scrapy, анализ lxml и т. Д. Однако я новичок в программировании и не достаточно опытен, чтобы учиться и экспериментировать со всеми способами. (на самом деле, я пытался следовать ответам на аналогичные вопросы по SO, но безуспешно), поэтому я не уверен, какой путь мне лучше всего выбрать.
Мне не нужно ничего особенного; все, что я хочу сделать, это извлечь заголовки из документов HTML в виде текста и затем распечатать их. Мне не нужно загружать какие-либо CSS-файлы, изображения, мультимедиа и т. Д. Кроме того, я надеюсь сохранить код как можно более простым / понятным. Как я могу сделать это как можно быстрее в Python? Я был бы признателен, если бы кто-то мог предложить наилучший путь (то есть, используя Scrapy) и дать краткое объяснение того, что я должен делать, используя этот инструмент, чтобы получить результаты, на которые я надеюсь. Вам не нужно выписывать весь код для меня. Спасибо!