CoderCastrov logo
CoderCastrov
Научный анализ данных

Парсинг с локальным сохранением HTML

Парсинг с локальным сохранением HTML
просмотров
2 мин чтение
#Научный анализ данных

В образовательных целях я задался вопросом, что бы я сделал в качестве data scientist, если мой клиент нуждается в данных, которых у меня нет в наличии?

Ну, ответ прост, и это то, что мне нужно найти эти данные онлайн и собрать метрики из того, что я соберу. Итак, вот история о том, как я спарсил веб-сайт, который имеет бота против парсинга.

Обратите внимание, что это чисто образовательный материал, и я не владею правами на использование этих данных в коммерческих целях. ПРАКТИКУЙТЕ ЭТИЧЕСКОЕ КОДИРОВАНИЕ.

Шаг 1 - Локальное копирование HTML целевого веб-сайта.

Выше показан цикл, который будет копировать каждую страницу по одной. Вы можете видеть, что это будет выглядеть по-разному для каждого веб-сайта, но счетчик проходит через каждую страницу, объединяя его с путем веб-сайта. F-строки прекрасны! Это локально сохранит копию HTML этой страницы.

Что у нас есть после копирования?

Each page has its HTML stored locally on my computer.

Разбор информации и очистка ее

Testing This on One Singular Scraped Page before running a bigger engine.

Импортируйте HTML, который вы хотите прочитать с помощью Beautiful Soup и разберите данные соответствующим образом. Обратите внимание, что каждый веб-сайт имеет свои собственные теги, и иногда в одном теге могут существовать несколько переменных, поэтому вы должны быть готовы форматировать и очищать данные соответствующим образом. Предоставленный код является явно узкоспециализированным и будет работать только с файлом HTML, указанным выше.

Ниже приведен пример для 1 страницы HTML с использованием указанного выше кода!

Result of the above code.

Одна страница выглядит отлично! Как насчет 1140 страниц?

Note that I started with a count of 10 pages in this example. If increased to maximum this will run for all pages. EDIT*** Make dict_ a global variable

Теперь сохраняем всю информацию в словаре, чтобы преобразовать ее в таблицу данных, которая будет содержать 14 000 записей в реальном времени. Обратите внимание, что при увеличении количества страниц для очистки потребуется больше отладки, чтобы убедиться, что форма сохраняется и информация соответствует способу ее парсинга. Вы не знаете о препятствиях, пока они не возникнут, вам нужно пропустить ОДНО значение, чтобы подорвать достоверность всего набора данных во время этого цикла. БУДЬТЕ ВНИМАТЕЛЬНЫ и ЗНАЙТЕ, ЧТО ВЫ ХОТИТЕ.

Счастливого парсинга!