LINUX.ORG.RU

Возможно ли такое сделать на Phantomjs? Долговременный парсинг.

 ,


1

2

Всем привет. С Phantomjs и похожим семейством слабо знаком. Поэтому есть вопрос. Что мне собственно нужно: мне нужно парсить с сайта букмекера(1xbet) коэффициенты ставок матча во время игры! Предварительно указав ссылку на матч и время запуска Phantom бота через cron. В среднем игра длится 1 час. Это значит что Phantom должен все это время находиться на сайте букмекера и каждую секунду проверять не изменился ли коэффициент. Если изменился, то нужно отправить новый коэффициент мне на сервер(как я понимаю для этого есть injectJS, которым я внедрю банальный скрипт Jquery post() на сайт букмекера). Справится Phantomjs с такой задачей?! Собственно не понимаю как заставить Phantomа сидеть на сайте и проверять 1 час изменение коэффициентов.

Ответ на: комментарий от ethereal

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

Sankaboy
() автор топика
Ответ на: комментарий от Sankaboy

ну конечно нужно будет адаптировать скрипт под конкретный сайт и под версию phantomjs. это работает на 2 и на 1.9 точно.

ethereal
()

В официальной документации полно примеров как извлечь содержимое конкретного узла. Ты же даже не попытался что-то состряпать, окунфузиться, и привести тут нерабочий код с вопросом «ЧЯДНТ». Сразу требуешь дать тебе рабочий код. Причем явно с коммерческим интересом. Лицо не треснет?

r_asian ★☆☆
()
Ответ на: комментарий от r_asian

здрасте.. Откуда тебе знать, что я вообще делал? Рожа ты самоуверенная. Не можешь помочь, не спамь. Читал я твою документацию. Где я вообще требовал рабочий код.

Sankaboy
() автор топика

Возможно все))только имей в виду, фантом течет как сучечка. Способы уменьшить течку ценой производительности есть, ищи на гитхабе сотьветствующий иссуе. Но он всеравео будет течь. Ябы посоветовал электрон, если уж так нужен безголовый браузер. А вообще на кой хер оно надо, мож проще сайт реверснуть и ручками дергать?

genryRar ★★
()

Ребята, привет. Всем спасибо за помощь! Делаю этот скрипт по немного, когда есть время. И столкнулся с проблемой. Коэффициенты на сайте обновляется ежесекундно, через каждые пол секунды и тд. Сайт букмекера тяжелый. Грузится от 2х секунд и выше. Даже если отключить загрузку картинок. Как я понимаю, какая страница изначально загрузилась такой и остается все время, на странице не обновляются коэффициенты. Я расчитывал так, фантом загружает сайт и далее просто сидит и следит за изменением коэффициентов. Но так не получится? Из всех примеров с интернета, и с того примера, что привел добрый человек ethereal выходит, что только есть только один вариант - каждые пол секунды загружать страницу заново. Но этот вариант все обламывает. Что можно сделать? С уважением.

Sankaboy
() автор топика
23 июля 2017 г.
Ответ на: комментарий от Sankaboy

Как успехи на текущий момент?

Занялся тоже этой тематикой. Попробовал на chrom-расширениях. Подключил 2 букмекера (бет365 и 1хбет). Выдергивает коф. и отправляет мне на сервер в БД для дальнейшей обработки. Но столкнулся с производительностью, открыв 20 игр у одного (20 вкладок) и 20 у другого. Сайты действительно у них тяжелые. На обычном компьютере не хватило памяти. Запустив на сервере: хром стал заикаться и перестал даже просто отражать содержимое сайта (1хбет). Вот перешел в строну slimerjs (но он тоже имеет графический интерфейс, думаю тоже замучается кучу окон показывать) и phantomjs. На слимере получается получить данные с динамически обновляемой странице, а на фантоме получаю пока только первозагруженную (дальше не отображает новую обновленную).

ndpndp7
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.