️ Vida Loca
очень поразному
️ Vida Loca
кто-то просит csv, кто-то xls, кто-то json. где-то просят специальный формат для загрузки куда-то типа wordpress или magento.
Anonymous
Парсеры довольно годно писать на phantomjs
Eugene
Круто)
️ Vida Loca
по реализации тоже очень по разному
Eugene
А на чем?
️ Vida Loca
Парсеры довольно годно писать на phantomjs
ток для исключительных случаев
️ Vida Loca
обычно парсеры пишу на PHP Simple Dom или Scrapy. щас даже больше на скрапи
️ Vida Loca
потому что у него много встроенных инструментов, например, даже не надо писать код для выгрузки
️ Vida Loca
запускаешь типа
️ Vida Loca
scrapy crawl primos_usa -o usa.csv -a filename=support/states.txt
️ Vida Loca
возьмет исходные данные из states и сам запишет в csv
Eugene
Да, скрапи топ, знаем
️ Vida Loca
если сделаешь scrapy crawl primos_usa -o usa.json -a filename=support/states.txt
️ Vida Loca
выгрузит в json
️ Vida Loca
код тоже супер изи
️ Vida Loca
Eugene
Аааа, выравнивание><
️ Vida Loca
хз) всегда так пишу
️ Vida Loca
в парсерах самое главное знать как данные доставать, например, где-то тупо смотришь что данные из API беруться, проще под апишку и написать парсер
Eugene
Код да, изи читается, вот смотрю и все понимаю :D Питон :)
️ Vida Loca
как вот на примере
️ Vida Loca
в этом же сайте был небольшой гемор чтобы собрать изначальные ссылки для парсинга (типа отправки форм и тд для получения ссылок), написал в дев тулз небольшой скрипт который собрал ссылки сам
Anonymous
В фантоме тоже удобно, можно сделать скрин страницы, можно проинклудить на сайт жеквери и работать с DOM как из браузерного интерпретатора, например $("#price").val(); Прокси, кеши, возможность заблокировать внешние ресурсы по регулярке, отключить изображения и тд
HashTag
Подписка на #price
️ Vida Loca
Anonymous
Только вот машины состояний там нет
️ Vida Loca
иногда бывают сложности типа бана по ИП или надо заголовки отправлять или агента менять и тд и тп, но не часто
Anonymous
Так что если эмулировать навигацию пользователя, нужно имплементировать свою
Anonymous
Хотя я ничего другого не пробовал, че я сижу спорю 😄
️ Vida Loca
когда парсишь много, сразу всякие хаки отмечаешь, как парсить легче можно
️ Vida Loca
например, щас парсю этот сайт http://www.laundrypartsdirect.com/American-Dryer-Parts-Replacements-Washer-Dryers-s/2002.htm
️ Vida Loca
тут типа товары по страницам, по 30 штук. можно сделать по 300, но есть где даже если по 300 штук ставишь страницу, то все равно несколько страниц, то есть надо писать еще и сборщик страниц
️ Vida Loca
но когда переключаешь кол-во айтемов на странице урл становится http://www.laundrypartsdirect.com/Dexter-Parts-Dexter-Laundry-Parts-Dexter-Washer-Dryer-Parts-s/2004.htm?searching=Y&sort=5&cat=2004&show=300&page=1
️ Vida Loca
где можно 300 поменять на 15000 например, и тогда не придется собирать страницы, все товары из одной категории будут на одной странице
️ Vida Loca
кароче, чем больше парсишь, тем это легче и быстрее. седня писал с нуля парсер по hourly контракту, сделал за 2 часа
Eugene
Скоро уже будет у тебя готовый шаблон, где надо будет ток менять ссылку и данные
️ Vida Loca
️ Vida Loca
ну скрапи это и есть готовый шаблон по сути))
️ Vida Loca
обычно надо ток исходные ссылки указать и селекторы сделать
️ Vida Loca
где-то регулярками допилить еще
️ Vida Loca
на пхп примерно так
️ Vida Loca
Eugene
В регулярки сложно(
️ Vida Loca
хз)
️ Vida Loca
Anonymous
но когда переключаешь кол-во айтемов на странице урл становится http://www.laundrypartsdirect.com/Dexter-Parts-Dexter-Laundry-Parts-Dexter-Washer-Dryer-Parts-s/2004.htm?searching=Y&sort=5&cat=2004&show=300&page=1
А. Ну я так парсил магазин, чтобы товары импортировать в свой магазин. Писал сборщик урлов, да. А в вывод писать название, таксономию, цену, описание, массив характеристик, изображения. Тысяч 10 напарсил товаров
️ Vida Loca
обычно регулярку написать занимает максимум 5 минут
Anonymous
Но на парсер у меня часов пять ушло. Правда я с UI на tcl/tk делал
Anonymous
я как-то парсил желтые страницы Австралии 800к айтемов )
Ы) Я хз сколько у меня парсил по времени, я просто оставил на ночь)
️ Vida Loca
кстати, когда речь большом объеме данных идет, там уже другая история начинается. там появляется гемор типа где-то может память течь, надо больше проверок всяких писать, потому что если после нескольких часов работы упадет скрипт, очень несладко все с начала начинал, всякие бекапы, разбивка по архивам, проблемы с передачей заказчику и тд и тп
️ Vida Loca
если цена не слишком интересная, я стараюсь не брать когда речь о 10к+ записях идет
️ Vida Loca
такие выгрузки даже тупо проверять потом сложно, их заколебешься качать, открывать, место на компе надо и тд
Anonymous
Можно парсер выделять в отдельны поток, который будет отказоустойчивым, а в основном вся логика. Если поток упадет, ты можешь сообщить об этом пользователю и запустить следующий
Anonymous
Да. Это у меня просто изначально враппер фантом на tcl/tk, поэтому фантом он уже сразу выделен в отдельный поток
️ Vida Loca
падает то не только из за памяти, а из за логики иногда
️ Vida Loca
типа, например, у тебя есть код "взять цену" > "распарсить ее регуляркой", где-то цена неуказана, в регулярку передался null, скрипт упал :)
Eugene
я как-то парсил желтые страницы Австралии 800к айтемов )
вот из-за таких количеств парсинг не мое
️ Vida Loca
вот из-за таких количеств парсинг не мое
таких тасков мало. ну и никто не заставляет их брать)
️ Vida Loca
хотим ничего не пропустить
️ Vida Loca
найми программиста
Eugene
найми программиста
кстати около недели назад поимел такой опыт. Нанял челика для парсинга своего же html : D
️ Vida Loca
индуса?)
Eugene
не, челика с чатика, заодно ему помог на апворк вкатиться) 20 баксов вышло, за вечер мне сделал. Я до этого пару дней не мог норм решить:D
️ Vida Loca
))
Eugene
Ну этот опыт мне ооочень понравился)
Vladislav
Что то все про апворк говорят. Биржа для дизайнеров?
Eugene
дизайнерам там тоже место:)
️ Vida Loca
Vladislav
Вай скоро тогда регаться побегу
Vladislav
Чет мне кажется, что с моим мини портфолио дня за 2-3 по любому можно заказ найти
Eugene
ток не депенгуй
️ Vida Loca
️ Vida Loca
тебе кажется)
️ Vida Loca
когда статус появится нормальный, будет ок
️ Vida Loca