Парсинг с локальным сохранением HTML
В образовательных целях я задался вопросом, что бы я сделал в качестве data scientist, если мой клиент нуждается в данных, которых у меня нет в наличии?
Ну, ответ прост, и это то, что мне нужно найти эти данные онлайн и собрать метрики из того, что я соберу. Итак, вот история о том, как я спарсил веб-сайт, который имеет бота против парсинга.
Обратите внимание, что это чисто образовательный материал, и я не владею правами на использование этих данных в коммерческих целях. ПРАКТИКУЙТЕ ЭТИЧЕСКОЕ КОДИРОВАНИЕ.
Шаг 1 - Локальное копирование HTML целевого веб-сайта.
Выше показан цикл, который будет копировать каждую страницу по одной. Вы можете видеть, что это будет выглядеть по-разному для каждого веб-сайта, но счетчик проходит через каждую страницу, объединяя его с путем веб-сайта. F-строки прекрасны! Это локально сохранит копию HTML этой страницы.
Что у нас есть после копирования?
Разбор информации и очистка ее
Импортируйте HTML, который вы хотите прочитать с помощью Beautiful Soup и разберите данные соответствующим образом. Обратите внимание, что каждый веб-сайт имеет свои собственные теги, и иногда в одном теге могут существовать несколько переменных, поэтому вы должны быть готовы форматировать и очищать данные соответствующим образом. Предоставленный код является явно узкоспециализированным и будет работать только с файлом HTML, указанным выше.
Ниже приведен пример для 1 страницы HTML с использованием указанного выше кода!
Одна страница выглядит отлично! Как насчет 1140 страниц?
Теперь сохраняем всю информацию в словаре, чтобы преобразовать ее в таблицу данных, которая будет содержать 14 000 записей в реальном времени. Обратите внимание, что при увеличении количества страниц для очистки потребуется больше отладки, чтобы убедиться, что форма сохраняется и информация соответствует способу ее парсинга. Вы не знаете о препятствиях, пока они не возникнут, вам нужно пропустить ОДНО значение, чтобы подорвать достоверность всего набора данных во время этого цикла. БУДЬТЕ ВНИМАТЕЛЬНЫ и ЗНАЙТЕ, ЧТО ВЫ ХОТИТЕ.
Счастливого парсинга!