В чём лучше написать парсер?

RORC

Постоялец
Команда форума
Модератор
Регистрация
14 Июн 2013
Сообщения
380
Реакции
154
зная алгоритм работы парсера можно обойтись даже без регулярок
Это как? SAX - парсер не под все подходит. Из текста - дроблением и перебором, не самый оптимальный вариант.
 

qaz22

Создатель
Регистрация
30 Авг 2019
Сообщения
11
Реакции
1
Писать на том, на чем умеешь, я подобную штуку делал на delphi, c компонентом chromium. Кто то писал про laravel, да он действительно крут и хорошо поддерживается.
 

ProgrammerForever

Писатель
Регистрация
25 Авг 2018
Сообщения
5
Реакции
1
Если проект несложный и "для себя" то, по большому счёту, нет разницы в чём писать. А знакомые инструменты помогут сэкономить время. Я, например, делал на c#, на python и как-то раз даже на базе GoogleSpreadsheet (JavaScript)
 

sentance

Создатель
Регистрация
8 Дек 2015
Сообщения
17
Реакции
1
А есть примеры простых но качественных парсеров html кода на java?
 

Minor

Постоялец
Регистрация
16 Авг 2012
Сообщения
258
Реакции
110
Писать на том, на чем умеешь, я подобную штуку делал на delphi, c компонентом chromium. Кто то писал про laravel, да он действительно крут и хорошо поддерживается.
оО, а зачем целый Ларавел под парсер ?
 

Shraibikus

Писатель
Регистрация
28 Фев 2019
Сообщения
7
Реакции
1
Для совсем нубов есть BrowserAutomationStudio это что-то типа фреймворка для тех кто дуб-дубом в кодинге, по сути графическая среда разработки с часто используемыми шаблонами действий с эмуляцией браузера, парсит все что хошь, итоговый скрипт можно в отдельное приложение выкатить с нужными галочками и полями. Плюс оно бесплатно и вроде даже готовое по вашей задаче лежит на их форуме
 

Invoker

Создатель
Регистрация
10 Сен 2013
Сообщения
10
Реакции
5
Под веб очень неплоха библиотека beautifulsoup, правда на пайтоне
 

Burunduk1982

Постоялец
Регистрация
26 Мар 2007
Сообщения
630
Реакции
133
Парсер или граббер? В любом случае, все зависит от задачи, что и откуда нужно грабить и что именно нужно спарсить. Если контент для сайта, бэкэнд вашего сайта на php, python или java - соответственно, на том и пишите, учитывая ваши знания и возможность их применить. Если фронтэнд на html, xml, графические форматы или что-то еще, то выбираете соответствующие для типа док-та инструменты. Я для граббинга и парсинга контента использую по старинке php+curl/file_get_contents+прокси+регулярки. Иногда нужно распарсить XML или что-то еще - для всего давно существуют соответствующие библиотеки и классы. Если хочется свое - так же не проблем написать, т.к. масса примеров реализации и решения смежных задач. Все они, так или иначе, шаблонные. У меня масштабы не шибко большие, примерно 3000-30000 запросов в месяц для каждого ресурса, но для автоматического парсинга+синонимайзинга+перевода на другие языки - вполне хватает. Время, затрачиваемое на настройку под новые источники контента, минимально. Для более крупных масштабов, разумеется, php будет недостаточно. Питон + многопток решает большинство задач такого рода за довольно короткий период. Например, крупные массивы данных, их анализ и обработка. И в этом плане Питон довольной универсальный инструмент. Под него и IDE есть для создания GUI. Если правильно помню, то в QT, вроде бы, есть. Можно под питон веб-сервер поднять, написать бэкэнд сайта на питоне. И вообще, сегодня вопрос не стоит в том, на чем писать. Инфы, библиотек, средств и возможностей вагон... только времени на все хватало бы еще. Не вижу никаких трудностей углубленно пройтись по C#, Python, Java, PHP, C++, актуальные или специализированные фрэймворки под них, получив и базу, и опыт реализации одного и того же инструмента в разных средах. На это можно потратить и год, и два, но вы уже будите понимать, для каких задач и целей какую платформу вам будет лучше применить. Гораздо больше вы потратите времени, если будите лениться и откладывать в дальний ящик. И, безусловно, не столько важно на чем вы напишите граббер или парсер, на сколько важно, как вы напишите. Не городите огород там, где в нем нет смысла. В граббинге и парсинге важна скорость получения готовых для использования или вторичной обработки данных. В тоже время, если вы грабите контент с чужих ресурсов, то важно понимать, что из-за нагрузки от частоты ваших запросов, вашу машину заблочат, как минимум по айпи, а как максимум по поведенческим сигнатурам, закроют доступ, либо ограничат таким образом, чтобы процесс граббинга занимал у вас кучу времени, что негативно сказывалось бы на рентабельности ваших операций. Потому, особенно если речь о крупных объемах, следует продумывать всевозможные негативные исходы, в т.ч. при продумывании логики и написании кода, независимо от выбранного вами языка.
 

sacrament007

Писатель
Регистрация
16 Авг 2013
Сообщения
10
Реакции
1
Инструмент зависит от задачи конечно. Для некоторых случаев может быть удобно не кодить, а воспользоваться content downloader или datacol
 
Сверху