2012-03-08 2 views
2

Я хочу получить HTML-содержимое веб-страницы, но большая часть контента генерируется javascript.Как я могу получить HTML-код, созданный с помощью javascript?

Возможно ли получить этот сгенерированный HTML (с возможностью использования python)?

+0

Вы в контроле JavaScript, которые генерируют HTML? В этом случае одним из способов сделать это было бы передать HTML как строку на сервер через вызов AJAX, но в чем причина этого? –

+0

Вы можете получить свой HTML-контент с помощью javascript – Chibuzo

+1

Почему downvotes? Это хороший вопрос того, кто даже не знает, с чего начать. –

ответ

3

Единственный способ, которым я знаю это сделать с вашего сервера, - запустить страницу в реальном браузере, который будет анализировать HTML, строить обычную среду DOM, запускать javascript на странице, а затем добираться до этой DOM движок и получить innerHTML из тега тела.

Это можно сделать, включив Chrome с соответствующим URL-адресом из Python, а затем с помощью плагина Chrome, чтобы извлечь динамически сгенерированный HTML после того, как страница была инициализирована и передана обратно на ваш Python.

0

Если большая часть контента генерируется Javascript, Javascript может выполнять ajax-запросы для извлечения содержимого. Вы можете вызвать эти сценарии на стороне сервера из своего приложения Python.

Удостоверьтесь, что он не нарушает условия веб-сайта, хотя и получил разрешение.

2

Оформить заказ Selenium. У него есть драйвер python, который может быть тем, что вы ищете.

+0

+1 Selenium позволяет оценивать JavaScript на после загрузки. Вы можете использовать '$ ('body'). Html()', чтобы получить копию содержимого тела. –

0

Вы можете сделать это без использования Python или любых скриптов, используя Safari.

Смотрите мой ответ на аналогичный вопрос here

+1

Я не думаю, что это действительное решение. мне кажется, что OP хочет общее решение, которое может быть автоматизировано, т. е. после его подготовки, они не требуют какого-либо взаимодействия с пользователем. ответы, данные до сих пор, похоже, подтверждают это. – andr

Смежные вопросы