Пример парсинга товаров с интернет-магазина на Python Grab

В данной статье будет описан пример парсинга товаров из интернет-магазина на Python Grab.
Парсинг я делал через файлы, чтобы во время падения парсинга начинать все с места, на котором все обвалилось.
Основы по инсалляции Python и библиотеки Grab можно почитать в статье Python + Grab инсталляция и настройка >>

Парсинг информации с сайтов может использоваться для различных целей:

  1. Получение свежих новостей;
  2. Получение данных с конкурентов (в том числе мониторинг цен, новости, деловая активность конкурента из СМИ и деловых порталов и т.д.);
  3. Получение статистических данных с сайтов, у которых нет API.

Страница в интернете — это html код. Он состоит из тегов, которые заключены в скобки . Для удобного разбора и поиска интересующих данных используется специальный язык запросов XPath (XML Path Language). Т.к. html является подмножеством XML, то XPath можно использовать и для HTML. HTML имеет древовидную структуру, в которой таги — это узлы дерева. А XPath предоставляет простой способ для поиска тегов по их взаимному расположению в таком дереве и/или по значению атрибутов тегов.


Шаг 1. Создаем главный файл со ссылками на товары ‘oboi_productURL.txt’:

Шаг 2. Создаем файл с данными по продуктам с ценами и характеристиками ‘oboi_product_with_price.txt’:

Шаг 3. Из описания продуктов я вытаскивал все ссылки на картинки и записывал их в отдельный файл с картинками ‘list_full_img.txt’. Далее запуска код Python для скачивания картинок:

Шаг 4. Парсим информацию, полученную с сайтов, с помощью QlikView и вычленяем параметры продуктов:

И еще один участок кода для генерации SQL-кода для заливки информации на платформу OpenCart (бесплатный движок для интернет-магазина), также написано на QlikView:

Получаем некую аналитическую модель по продукции для заливки на любые платформы интернет-магазинов таких как OpenCart, Bitrix и т.д.
Следим за конкурентами в QlikView получаем данные через Python Grab

Еще один пример парсинга сайта на Python с библиотекой Grab()

Ниже приведен пример получения списка продуктов (парсим их из каталога сайта и пишем в файл). По идее нужно дополнительно написать парсер для страницы с продуктом. Этого сделать не успел, поэтому сохраняю тут код недоделанный:

3
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x