Задать вопрос
PRAIT
@PRAIT

Парсинг данных, какой язык практичней?

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

Простой пример 1 - Нужно с сайта toster.ru собрать информацию пользователей с ником на первую букву ( А ) сколько вопросов было решено этими юзерами, процент, сколько сообщений они оставили под какими тегами больше всего решенных вопросов и т.д.

Простой пример 2 - Нужно с сайта фриланс собрать среднюю стоимость работы в час php разработчика по гео РФ или Украина. Процент положительных и отрицательных отзывов и т.д.

Собственно вопрос стоит в реализации. На каком языке будет практичнее пилить данный скрипт?

Где то, слышал что подобные затеи хорошо реализуются на ASP.NET собственно вопрос к знающим, так ли это?

Классика PHP так как скрипт будет на сервере я думаю при многократном обращении в секунду будет долго обрабатывать. Допустим парсят ежесекундно 500 человек по ( хххх mb) данным. Небольшая ли нагрузка для PHP как долго он будет справляться с задачей?

Взгляд на Golang - как GO справляется с такими задачами?

Взгляд на node js и java - хотелось бы услышать ваше мнение.

Друзья, прошу не кидать нелестные фразы в мою сторону. Так как раньше такого опыта не было, решил спросить у вас.
Я не совсем понимаю что лучше использовать в данных ситуациях.

Задача: Быстрота, Надежность, Многопоточность, что бы выдерживал большое количество обращений в секунду.
Всем спасибо! :)
  • Вопрос задан
  • 6227 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 6
@pantsarny
на любом, котором сможешь.
php пойдет, есть многопоточный curl, много кода в нете, php-fpm работает стабильно.
Ответ написан
Комментировать
@ynblpb_spb
дятел php
Мне кажется стоит обратить внимание на javascript движки для парсеров, типа phantomjs и casperjs
С их помощью вытаскивание данных со страницы становится проще в десятки раз
Многопоточность работы с этими приложениями уже реализовывайте на любом языке и складывайте в удобном формате в БД или куда-то еще.
Ответ написан
Stalker_RED
@Stalker_RED
Все равно какой язык вы выберете. Тот, который лучше знаете в данный момент, или тот, который хотите изучить в процессе. Все равно вы упретесь не в скорость парсера, а в ширину канала. Ну или вас забанят за слишком большую нагрузку на сервер.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
regex - минимум!
Дальше - любой язык.

Задача: Быстрота, Надежность, Многопоточность, что бы выдерживал большое количество обращений в секунду.
Не DDoS'те ресурсы!!! Уважайте друг друга и избежите бана! Парсите всегда с интервалом и в один поток!

Классика PHP так как скрипт будет на сервере я думаю при многократном обращении в секунду будет долго обрабатывать. Допустим парсят ежесекундно 500 человек по ( хххх mb) данным. Небольшая ли нагрузка для PHP как долго он будет справляться с задачей?
Я бы посоветовал вначале ПОСТЕПЕННО всё скачать, чтобы не напрягать ресурс-донор.
А уже после - спокойно распарсите у себя на сервере.
Попробуйте HTTrack
Ответ написан
JabbaHotep
@JabbaHotep
Пытаюсь минимизировать ручную работу
Go - отличный язык и справляется очень хорошо с многопоточностью. Если планируются высокие нагрузки и конкурентные запуски, то из всего что перечислено - только Go.

Однако для примера 1 и 2 непонятно как вы будете использовать эффективно многопоточность. Определитесь сначала с объемами, сколько запросов будете делать. Как часто датасеты будут обновляться и так далее. После этого можно будет выбирать инструмент.
Ответ написан
Комментировать
@beduin01
D - отличный язык и справляется очень хорошо с многопоточностью. Если планируются высокие нагрузки и конкурентные запуски, то из всего что перечислено - только D.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы