CoderCastrov logo
CoderCastrov
Наука о данных

Лучшие и худшие моменты моего пути при парсинге веб-сайтов

Лучшие и худшие моменты моего пути при парсинге веб-сайтов
просмотров
4 мин чтение
#Наука о данных

Личное рассказывание о том, как я стал специалистом по обработке данных

Что вы думаете о парсинге или парсинге веб-сайтов?

Многие люди могут рассматривать этот навык как инструмент автоматизации или просто навык, который часто считается низкоквалифицированным.

Для меня это можно рассматривать как войну, только эта война происходит в интернете. Особенно когда вы делаете регулярный парсинг веб-сайта, может быть, в первые несколько раз вы сможете победить, и вы будете праздновать "да, этот сайт легко парсится", но вы еще не осознали, что с другой стороны также есть люди, которые могут отследить подозрительную активность вашего бота и попытаться остановить его парсинг веб-сайта.

Часто люди пренебрегают важностью получения хороших источников данных, но больше акцентируют внимание на том, как построить более точную модель машинного обучения. Существует аббревиатура для построения моделей машинного обучения, которая называется GIGO, что означает "мусор на входе, мусор на выходе". Поэтому важно понять, что если у вас есть возможность получить хорошие источники данных, и вы уже обладаете отличными навыками EDA и моделирования, вы сможете построить более лучшую модель машинного обучения.

Вернемся к теме, я собираюсь поделиться с вами своим путешествием от парсинга до парсинга веб-сайтов. Давая вам некоторую информацию о себе, я окончил Технологический университет Наньянг в Сингапуре с дипломом по математике и экономике, не имея технического образования, часто сложно научиться техническим навыкам, но если вы упорно работаете, в конечном итоге вы станете в этом хорошими.


Первый опыт парсинга для автоматизации

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

После моей подработки, мои глаза всегда чувствовали себя очень усталыми. Вот почему я начал парсить веб-сайты. Ничего особенного, я просто использовал библиотеку Python Request для парсинга веб-сайта и BeautifulSoup для разбора HTML-контента.

Результат оказался отличным и я был очень благодарен. Парсер не только спас мои глаза от усталости, но и улучшил мою производительность. Впервые попробовав парсинг, я понял, что очень легко парсить веб-сайты с помощью этих двух пакетов Python.

Если вас интересует этот парсер, вы можете посетить мой репозиторий на GitHub для получения дополнительной информации.


Опыт парсинга для проекта по науке о данных

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

Я решил сделать проект по прогнозированию арендной платы на основе определенных факторов, например, расстояния между станцией метро и арендуемым помещением, размера комнаты, количества ванных комнат в помещении и т. д. Поэтому я решил парсить веб-сайт property guru, который является одним из самых популярных веб-сайтов для поиска арендного жилья в Сингапуре.

Этот веб-сайт является динамическим, что требует от меня создания интерактивного бота. Поэтому я выбрал пакеты Python Selenium и BeautifulSoup для парсинга веб-сайта. Сначала я подумал, что мне кажется, что я смогу легко создать парсер и получить данные, но на веб-сайте был реализован Completely Automated Public Turing test to tell Computers and Humans Apart (Captcha).

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

Короче говоря, после этого я смог применить модели машинного обучения для прогнозирования, и результаты оказались довольно хорошими после применения EDA для создания нескольких признаков. Это не было бы возможно, если бы я не смог получить точные и очищенные данные для моей модели машинного обучения.


Опыт парсинга на работе

После окончания университета я начал свою первую работу на позиции бизнес-аналитика в Shopee. Мне предстояло ежедневно парсить около 120 тысяч товаров для анализа конкурентов. Здесь я действительно значительно улучшил свои навыки парсинга. Мой бот снова был заблокирован Captcha, и поэтому я изучил новый пакет Python для парсинга - Scrapy. Это действительно отличный пакет для парсинга. Для подробного сравнения между пакетами Scrapy и Selenium, пожалуйста, посетите этот веб-сайт: https://hackernoon.com/scrapy-or-selenium-c3efa9df2c06

Да, я смог решить эту проблему, но на этот раз я думаю, что больше всего я узнал следующее:


Заключительные мысли

В настоящее время я работаю в качестве Data Scientist, и могу сказать вам, что парсинг все еще очень важен. Я надеюсь, что этот статья поможет и вдохновит вас решать некоторые проблемы, когда возникают трудности с парсингом веб-сайтов.

Спасибо за чтение этой статьи. Не стесняйтесь оставлять комментарии ниже по темам, которые вас интересуют. В будущем я буду публиковать больше статей о своем опыте и проектах.


Об авторе

Лоу Вей Хонг - Data Scientist в Shopee. Его опыт включает в себя в основном парсинг веб-сайтов, создание конвейеров данных и реализацию моделей машинного обучения для решения бизнес-задач.

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

Вы можете связаться с ним через LinkedIn и Medium.