сохранение / зеркалирование / сканирование веб-страниц, использующих JavaScript для генерации контента - PullRequest
4 голосов
/ 25 марта 2009

Я хочу скачать веб-страницы, которые используют JavaScript для вывода данных. Wget может делать все остальное, но запускать JavaScript.

Даже что-то вроде: firefox -remote "saveURL (www.mozilla.org, myfile.html)"

было бы здорово (к сожалению, такой команды не существует).

Ответы [ 5 ]

4 голосов
/ 25 марта 2009

Я бы посмотрел на инструмент автоматизации браузера селена (http://seleniumhq.org/) - вы можете автоматизировать посещение веб-страницы и сохранение результирующего HTML.

Мы использовали его с большим успехом для аналогичной цели в предыдущем проекте.

1 голос
/ 25 марта 2009

Проблема с использованием подхода, основанного на браузере, состоит в том, что будет сложно автоматизировать процесс очистки.

Найдите «браузер без головы» на вашем любимом языке программирования. Кроме того, вы можете использовать Jaxer для загрузки серверной части DOM, выполнить JavaScript и позволить ему манипулировать DOM, а затем очистить модифицированный DOM, используя тот же JavaScript, который вы уже знакомы. Это был бы мой предпочтительный подход.

1 голос
/ 25 марта 2009

Я второе предложение Алекса для Selenium. Он запускается в браузере, поэтому может захватывать выходной HTML после того, как Javascript изменил DOM.

0 голосов
/ 17 марта 2010

Я сделал это перед использованием:

0 голосов
/ 25 марта 2009

Если это может быть приложение для Windows, вы можете попробовать использовать компонент браузера любого языка программирования, такого как C #, Visual Basic, Delphi и т. Д., Чтобы загрузить страницу, а затем заглянуть в контент и сохранить его. Компонент браузера должен быть основан на механизмах рендеринга IE и должен поддерживать JavaScript. Есть вопрос относительно снимков сайтов здесь . Может быть полезно вам.

Кроме того, вы можете рассмотреть возможность создания собственного расширения Firefox. Взгляните здесь для получения более подробной информации (нет кнопки «Далее», просто меню слева для навигации, сначала смутило меня).

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