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

Тема в разделе "ASM, С/С++, Delphi, Java", создана пользователем RAPCorp, 8 апр 2017.

  1. RORC

    RORC

    Регистр.:
    14 июн 2013
    Сообщения:
    327
    Симпатии:
    110
    Это как? SAX - парсер не под все подходит. Из текста - дроблением и перебором, не самый оптимальный вариант.
     
  2. qaz22

    qaz22 Создатель

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

    ProgrammerForever Писатель

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

    sentance Создатель Нарушитель

    Регистр.:
    8 дек 2015
    Сообщения:
    13
    Симпатии:
    1
    А есть примеры простых но качественных парсеров html кода на java?
     
  5. Minor

    Minor

    Регистр.:
    16 авг 2012
    Сообщения:
    244
    Симпатии:
    96
    оО, а зачем целый Ларавел под парсер ?
     
  6. Shraibikus

    Shraibikus Писатель

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

    Invoker Создатель

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

    Burunduk1982

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