В SlimereJS все проще, перед какой то бизней логикой анализируется изначально известный html блок в котором появляется каптча. Далее. без перегрузки страницы автоматически делается скриншот каптчи, кодируеться в base64 и в том же окне генерируется запрос а API того же антигейта и через пару секунд уже получен результат. Все это работает без перегрузки целевой страницы.
при таком подходе получается долго парсить ресурс без всяких лимитов, единственное соблюдая определенный таймаут
)) вы видимо не внимательно прочитали мой ответ, я не говорил что с этим проблемы в SlimerJS. Все что касаеться работы с DOM он справляеться более чем отлично. PhantonJS я тоже использовал, но SlimerJs понравился больше тем что позволяет отображать окно браузера, это очень удобно при автоматизации определенных бизнес процессов.
API SlimerJS очень близко к PhantomJS и у разработчиков огромное желание к версии 1.0.0 полностью скопировать API PhantomJs
с этими сервисами я знаком, как раз один из них интегрирован в парсер яндекса, но и вопрос в том что как разгадывать каптчи клиент-серверными приложением? допусти каптча возвращается ни как страница, а возникает в процессе работы, т.е грубо говоря аяксом поверх основного контента
Если бы все было так просто. Вам видимо не приходилось парсить сайты которые заботятся о своих данных и разными средствами пытаются их защитить. Для примера: запрос на получение данных может не сработать, если предположить что сайт ставит куки о посещенных страницах или вам требуется ввести каптчу без перегрузки страницы
использование того или иного инструмента обусловлена в первую очередь тем какой сайт придется парсить, незнаю каким образом вы парсите динамически подгружаемый контент или ситуации когда во время загрузки сайта появиться каптча.
индекс большой из за большого количества записей, в документе 3 индекса, один стандартный "_id_" и два кастомных, int и string(40), количество записей было где около 500млн
ну причину я написал выше, нехватка объема оперативной памяти, даже после перехода на третью версию монги, которая значительно ужала объем данных, все равно процесс работы с большим объемом данных по отношению к моему серверу не представляется возможным. При работе монго занимает всю память и больше ее не освобождает. Сколько бы не писали что монго умная система и сама распределяем ресурсы, я этого не заметил и другие процессы на этом сервере просто не отвечали.
не подскажите как поступить, при большом объеме данных в документе, когда размер индекса больше чем объем оперативной памяти, и при создание простого запроса, например
db.test.find().count()
съедаеться вся память и сервер начинает дико тормозить
Для меня самым большим плюсом является именно наличие интерфейса у SlimerJS, и хоть какая документация по API в отличие от того же PhantomJS, хотелось бы узнать, делали ли вы связку с CasperJS?
Все это работает без перегрузки целевой страницы.
при таком подходе получается долго парсить ресурс без всяких лимитов, единственное соблюдая определенный таймаут
API SlimerJS очень близко к PhantomJS и у разработчиков огромное желание к версии 1.0.0 полностью скопировать API PhantomJs
съедаеться вся память и сервер начинает дико тормозить