Заставить контент, сгенерированный JavaScript, раскрыться - PullRequest
0 голосов
/ 31 января 2011

Я генерирую некоторый контент через API, доступ к которому осуществляется через javascript, и я не могу получить исходный код того, что открыто отображается после загрузки в браузере. Я могу выделить текст и просмотреть источник выбранного текста (который является функцией Firefox), но я буду использовать CURL для автоматического захвата данных с помощью php ... Как я могу захватить данные? Есть ли способ обновить источник (может быть, через обновление DOM), чтобы он отображал, как? Любая помощь приветствуется.

Ответы [ 3 ]

2 голосов
/ 31 января 2011

Вы не можете просто запросить некоторый исходный код HTML и ожидать, что результаты его изменения с помощью JS будут на месте без запуска JS, поэтому, если вы хотите получить контент на PHP, вам придется либо

  1. Протолкните HTML через что-то, что будет выполнять JavaScript (вероятно, я бы посмотрел на WWW :: Mechanize :: Firefox , если бы я использовал Perl, он использует Mozrepl . I не знаю, есть ли у PHP похожий хороший API для него)
  2. Выполните обратный инжиниринг JavaScript и сделайте все возможное, чтобы получить данные самостоятельно.
0 голосов
/ 28 мая 2013

Если вы разрабатываете среду Linux / Unix, вы можете включить PjantonJS , который является очень изящным инструментом, который выполняет JavaScript и передает выходные данные. Я бы порекомендовал сделать это с shell_exec(), когда вы запускаете CLI PhantomJS.

Надеюсь, это поможет.

0 голосов
/ 31 января 2011

Вы можете открыть исходный код страницы с помощью Google Chrome из инструментов разработчика (гаечный ключ в правом верхнем углу -> Инструменты -> Инструменты разработчика или Control + Shift + I (это верхний регистр i)).Исходный код, показанный в инструментах разработчика, представляет обновленный исходный код страницы, включая вещи, которые были сгенерированы динамически JavaScript после первоначальной загрузки страницы.

Я уверен, что другие браузеры имеют аналогичные возможностиЯ просто случайно узнал метод Chrome на моей голове.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...