Как спарсить динамические(AJAX) данные на сайте с помощью Jquery node js?
Здравствуйте, вот появился вопрос как можно спарсить динамические данные с сайта(они берутся из ajax запроса)? Сначала делал так что через request подключался к сайту, скачивал его таким образом и пытался найти нужные мне данные... не получилось, потом я просто вывел в консоль весь сайт и получил тот div но в нем не было не чего, хотя на самом сайте в этом блоке div есть данные(они как раз динамичные), больше интересует реализация именно через Jquery а не через Phantom js*(ну и я его особо не понял, да и лень разбираться). Заранее спасибо за ответ.)
OVK2015: Я бы написал как называется сайт, но скорее всего меня тут забанят ну скажу так там есть 10 последних чисел они раз в ~45 секунд эти данные(цифры) обновляются и мне нужно вытаскивать эти данные и уже у себя там хранить
ratatyq:
По пунктам:
1. Их WebSocket обновляется намного чаще, чем каждые 45 секунд.
2. Данные там разные могут приходить. По какому-то одному из столбцов, например. Дальше их уже скрипт разбирает и отображает.
3. Расписать могу. С socket`ами node работает стабильно.
4. Skype нет. ICQ в профиле
Каким боком сюда jQuery? Ну есть on dom change event где-то там в JS, но зачем, если вы от PhantomJS отказались?
Учитесь работать чистыми HTTP-запросами. В частности, подделайте тот AJAX-запрос, который вам нужен. Для этого сниффер Fiddler в помощь, он его отследит, и вы сможете сформировать и отправить его из Node.js или любого другого десктопного ЯП, и получить данные.
GitSputnik: не интересовался. Наверно, примерно как и любой браузерный движок. Еще ведь Eclipse бывает и Android Studio, которые в разы больше жрут, и что теперь?
Браузерный движок вроде phantom нужен для эмуляции евентов браузера. С помощью движка вы ставите обработчик на нужное событие и перехватываете его - как в реальном браузере. Вы также можете выпонить свой код прямо в консоли браузера - это подразумевает отказ от node js для перехвата ссылок. Можно разгадать алгоритм построения нужных ссылок и сконструировать их вручную. Можно посмотреть в сторону нодовых библиотек вроде jsdom - они проще чем phantom, но я не уверен, делают ли они то, что нужно вам