Skip to content

LikaLex/parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

parser

Тестовое задание

Пример команды запуска скрипта: ruby scraper.rb https://www.petsonic.com/snacks-huesos-para-perros/ test.csv

Условие задачи http://www.petsonic.com/es/perros/snacks-y-huesos-perro По урлу находится категория веб сайта, который занимается продажей товаров для животных. Нужно собрать все товары из категории и записать в csv файл.

По каждому товару нужно собрать а) название б) цену в) изображение

вот пример страниц товара http://www.petsonic.com/es/perros/snacks-y-huesos-perro/galletas-granja-para-perro такую страницу мы называем страницей мультипродукта. Это означает, что на одной странице находится информация о нескольких разновидностях продукта. В данном случае разная весовка : 200 gr, 430 gr, 4 kg.

С этой страницы в выходной файл должно быть добавлено 3 записи: 1) В названии: Galletas Granja para Perro - 200 gr в цене: 1.35 в изображении: http://www.petsonic.com/5830-large_default/galletas-granja-para-perro.jpg

2), …. по шаблону

Обрати внимание на: а) название сформировано, как общее название продукта Galletas Granja para Perro плюс весовка из таблицы 200gr б) если у продуктов нет вариаций, то и весовка будет оказана только одна. В таком случае с одной страницы продукта получится одна запись в файле. в) список продуктов категории разбит на несколько страниц

Как всё должно быть оформлено

Должна быть написана программа/скрипт на Ruby. Программа на вход получает 1) ссылку (ссылка на страницу категории) 2) имя файла в который будет записан результат Скрипт отрабатывает и результаты записывает в выходной файл с заданными именем. В тестовом задании нужно использовать xpath для получения содержимого html элементов, таких как цена, название и т.п. Возможно, понадобится использовать regexp для того чтобы достать отдельные части данных, если xpath недостаточно. Для скачивания страниц нужно использовать open-uri или curb (очень желательно), для парсинга страниц nokogiri, для записи в csv файл – модуль csv. Вместе с решением нужно прислать пример запуска скрипта. Если в скрипте используются сторонние gem-ы, то приложить gemfile. Скрипт должен работать достаточно быстро и при этом не привлекать к себе внимание администраторов сайта.

Releases

No releases published

Packages

No packages published

Languages