Андрей Щ.
190 сообщений
#16 лет назад
Кто сталкивался? суть такова - нужно сграбить контент, который генерится JS скриптом - AJAX вызовом ил просто подстановкой текста.

Обычно я граббил контент с помощью Curl, но он отображает только сам HTML текст.
 Falcon
400 сообщений
#16 лет назад
Если AJAX-вызовы, то можно расковырять клиентскую часть и обращаться к серверу с поддельными вызовами. Если подстановкой - то скорее всего никак, потому что для этого наверное пришлось бы написать интерпритатор JS.
Антон Сердюк
120 сообщений
#16 лет назад
Цитата:
Если подстановкой - то скорее всего никак, потому что для этого наверное пришлось бы написать интерпритатор JS.

Бред.
Все равно данные откуда-то должны браться для страницы. Разве что сайт делали маньяки, помешанные на том, чтобы у них не крали контент грабберами...
Как правило, контент в виде JSON или XML генерится скриптом. Ваша задача узнать, каким образом. В любом случае нужно поковыряться в клиентской части, как сказал phpmaniac. Может быть, данные просто где-то выводятся массивом . Если же мы имеем дело с AJAX, то проще всего было бы установить firebug и посмотреть, что за запросы идут к серверу. Ну и, соответственно, подделать нужный. Просто разбирая клиенткий код, не всегда удается найти, как получить выборку руками. Некоторые библиотеки типа JsHttpRequest генерируют сложный запрос, которого в клиентском коде не найдешь.
Андрей Щ.
190 сообщений
#16 лет назад
Тоесть короче типового решения-эмулятора нет пока?

а насчет того, что вы пишете бред... да не скажите. Например я работал с сайтом, у которого календарь отрисовывался полностью на JS и потомсоответственно текущая дата туда подставлялась... Разные случаи бывают. Я задумался над глобальным решением, без "ковыряния"...
Default Default
26 сообщений
#16 лет назад
На пхп не знаю как обстоят дела с XUL и прочими подобными вещами, а то бы я посоветовал поглядеть в сторону мозилловских библиотек по js.

Суть вкратце - можно обернуть и отработать весь JS в коде.
Я на java делал такое, некое подобие браузера без визуализации.
Андрей Щ.
190 сообщений
#16 лет назад
В принципе правильно - надо отработать на движке ПХП (в моем конкретно вопросе) яваскрипт-код. Теперь собственно вопрос и сужается - есть ли готовые или по крайней мере разрабатывающиеся решения по эмуляции JS на PHP?

на яве наверное какието готовые решения есть?
Егоров Д.
23 сообщения
#16 лет назад
Анализ трафика сделать нельзя? возможно я сказал глупость... Выявить закономерности запросов... Что то в этом роде
Default Default
26 сообщений
#16 лет назад
Цитата ("ConceptART"):
В принципе правильно - надо отработать на движке ПХП (в моем конкретно вопросе) яваскрипт-код. Теперь собственно вопрос и сужается - есть ли готовые или по крайней мере разрабатывающиеся решения по эмуляции JS на PHP?

на яве наверное какието готовые решения есть?


я же говорю - есть свободные библиотеки от мозиллы, производителя браузеров файрфокс.
org.mozilla.javascript.*
Андрей Халецкий
3563 сообщения
#16 лет назад
2 ConceptART, вам нужно выполнять запросы которые делает JS.
Сделать вы это можете 2-мя путями:
1. "Расколупать" JS и "эмулировать" выполнение (подходит если "колупать" нужно относительно не много и код "стабилен".
2. Выполнять JS (чем - вам решать).
Андрей Щ.
190 сообщений
#16 лет назад
Спасибо насчет мозиллы, посмотрю там.

2 SmartDesign - интересует вариант 2, и как раз таки "а чем можно-то? есть ли решения?"
Юрий Муленко
21 сообщение
#16 лет назад
Я бы решал задачу путем анализа запросов к серверу. Фидлер, файербаг...
Андрей Щ.
190 сообщений
#16 лет назад
Это если у вас один-два источника. а если это задумывается как система, не зависящая отисходного сайта? это как нормальный лингвистический анализатор, так и вот это - часть задачи...
Андрей Халецкий
3563 сообщения
#16 лет назад
Задача ен тривиальная, мы для этих целей используем движок FF.
Андрей Щ.
190 сообщений
#16 лет назад
Андрей, спасибо большое за дележку опытом))
Буду думать и смотреть дальше.
Николай М.
1895 сообщений
#16 лет назад
FF+FireBug API
других разумных альтернатив не знаю)