• Лучший ЯП для парсинга веб-сайтов

    seriyPS
    @seriyPS
    У меня половина опыта работы — именно написание пауков и веб-парсеров.
    Писал их и на PHP + CURL, потом на голом питоне + треды.
    Потом узнал о Scrapy (асинхронный фреймворк для граббинга сайтов на Python) и на нём штук 5 независимых проектов реализовал, в том числе один, где нужно аггрегировать и периодически обновлять информацию с 20 различных форумов. Основная его проблема — он асинхронный, но однопоточный. Так что больше одного ядра им не нагрузить и долгий запрос к БД не сделать. А так очень хороший фреймворк.
    Потом несколько пауков делал на Python с помощью Celery.
    А совсем недавно переписал довольно сильно нагруженного паука (50-70Мбит/с через списки прокси) с Python + Celery на Erlang и понял, что это ОНО! Мало того, что стал работать в 2-3 раза быстрее, но понял, что для этой задачи что-то более подходящее сложно придумать.
    Поясню — у паука на Erlang можно без остановки процесса, например, изменить число потоков, обновить код, перезагрузить конфиги. Можно на ходу отпрофилировать код чтобы узнать, почему скорость упала или что так нагружает CPU. Можно совмещать зеленые потоки, асинхронную работу с сетью и долгие запросы к БД. И всё это фактически из коробки. В конце концов, код получается более логичный.
    Ответ написан
    3 комментария
  • Лучший ЯП для парсинга веб-сайтов

    @mithraen
    Как только возникает слово «парсинг», в первую очередь стоит вспоминать о Perl (Practical Extraction and Report Language). Для решения этой задачи там есть:

    • модули для работы с HTTP — как низкоуровневые, так и специальные, типа WWW::Mechanize — удобен, если надо написать скрипт, который последовательно выполняет какой-то набор операций (например надо автоматизировать какие-то действия пользователя web-интерфейсе, а API никакого не предусмотрено);
    • модули для асинхронной работы по HTTP (AnyEvent::HTTP) — позволяют написать робота, который без необходимости создавать множество тредов будет выполнять одновременно несколько запросов;
    • регулярные выражения — мощнейший инструмент для парсинга данных, и в perl его использование наиболее удобно (это часть синтаксиса языка);
    • библиотеки для разбора HTML в дерево (например HTML::Parser);


    Python хороший скриптовый язык общего назначения, но для задач разбора данных код на Perl будет куда проще.
    Ответ написан
    1 комментарий
  • Лучший ЯП для парсинга веб-сайтов

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В PHP есть XPath, есть библиотеки аля PhpQuery, ну и т.д. Есть возможность запускать одновременно несколько запросов через multi curl. Так что можно организовать это все худо бедно нормально. Все то же самое и даже больше есть в питоне да и в любом другом языке. Так что для этой задачи подойдет любой язык, который вы знаете.
    Ответ написан
    1 комментарий
  • Лучший ЯП для парсинга веб-сайтов

    Wott
    @Wott
    ЯП в данной задаче суть третьестепенная задача после разбора html и поиска ключевых элементов.
    Поскольку именно последняя задача самая главная, то и ориентироваться надо на нее — обычно кучка регулярок и некий контроллер для отработки вариаций и исключений, поскольку регулярки не идеальный инструмент для этого случая.

    Я писал похожую систему для книжного агрегатора на php, но только лишь потому что WP.
    Ответ написан
    Комментировать
  • Можно ли принудительно яваскриптом добавить файл в поле input file?

    @Johann
    нельзя. если бы было можно, это была бы гигантская дыра. любой сайт мог бы загрузить любой файл с компьютера без ведома пользователя
    Ответ написан
    4 комментария
  • какой софт необходим для аутсорс-сисадмина?

    Andrusha
    @Andrusha
    Про софт тут почти всё расписали, могу посоветовать по железу
    1. Qumo ИНЬ и ЯН — та самая флешка с защитой от записи. Более года, полёт нормальный.
    2. Zalman ZM-VE200. Контейнер c виртуальным оптическим приводом, можно таскать кучу дистрибутивов ОС на все случаи жизни. На Хабре уже делали обзор. Стоит дорого, но аналогов нету, и штука действительно полезная. С ним можно даже без флешки обойтись.
    Ответ написан
    1 комментарий
  • какой софт необходим для аутсорс-сисадмина?

    antarx
    @antarx
    Автоматические установщики софта унылы чуть более чем полностью, и нередко ставят в комплекте какие-нибудь трояны. Очень редко надо ставить действительно много разнообразного ПО.

    Из очевидных советов: если компания, в которой вы будете работать, партнёр MS, скорее всего у них есть возможность сделать для вас легальные триальные копии всего MS софта. Пользуйтесь ими.

    На практике для реальной работы нужно весьма немногое: ERD/любой другой LiveCD (от злых вирусов и кривых рук, в сочетании с cureit творит чудеса), образы винды (для установки и восстановления системы, например, запустить sfc), тяжёлые дистрибутивы, набор софта для диагностики системы (лично мне хватало autoruns+aspia) и средства удалённого управления (putty+teamviewer/ammyy admin).

    Из личных рекомендаций: купите флешку с защитой от записи — она пригодится гораздо больше нетбука.
    Ответ написан
    3 комментария
  • какой софт необходим для аутсорс-сисадмина?

    oia
    @oia
    как по мне если клиентов много, то надо создавать карту сети ПО для этого Dia, с описание маков очень поможет в решении вопросов связаных с сеткой

    так же очень нужный диск Hiren's BootCD
    Ответ написан
    2 комментария
  • какой софт необходим для аутсорс-сисадмина?

    foxmuldercp
    @foxmuldercp
    Системный администратор, программист, фотограф
    Вот список п/о, которое я использую на рабочем ноутбуке/домашней машине fox-mulder-cp.livejournal.com/981757.html

    Из дополнительного п/о Вам могут понадобиться — программа для создания бекапов разделов,
    программа для восстановления удаленных файлов с носителей.
    программа для диагностики сети L1/L2/L3 — wireshark, например.
    программа для удалённого подключения к компьютеру — radmin/teamviewer/putty, vpn
    Инсталляционные файлы последних версий adobe flash, java, броузеров, кодеков, бесплатного почтового клиента от мозиллы.
    дистрибутив опенофиса.
    live-cd/загрузочная флешка убунты.

    кабельный тестер, метровый патчкорд кроссовер для прямого включения пк-пк, обжимка.
    фонарик, комплект отверток, термопаста, пакетик с винтиками, ide/sata переходник.

    и помните, что установка пиратского п/о чревата большими проблемами с законом.
    Ответ написан
    8 комментариев