Библиотека Python для рендеринга HTML и javascript

Есть ли какой-либо модуль python для рендеринга HTML-страницы с помощью javascript и возврата объекта DOM?

Я хочу проанализировать страницу, которая генерирует почти весь свой контент с помощью javascript.

не могли бы вы переименовать вопрос в что-то вроде «эмуляция DOM браузера в python» - текущий вопрос на самом деле не отражает вопрос.

Martin Beckett 27.09.2008 03:37
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
18
1
33 704
2

Ответы 2

Большая сложность здесь заключается в эмуляции всей среды браузера за пределами браузера. Вы можете использовать автономные интерпретаторы javascript, такие как Rhino и SpiderMonkey, для запуска кода javascript, но они не предоставляют полноценную среду, подобную браузеру, для полной визуализации веб-страницы.

Если бы мне нужно было решить такую ​​проблему, я бы сначала посмотрел, как javascript отображает страницу, вполне возможно, что он получает данные через AJAX и использует их для визуализации страницы. Затем я мог бы использовать библиотеки Python, такие как simplejson и httplib2, для прямого извлечения данных и их использования, устраняя необходимость доступа к объекту DOM. Однако это только одна возможная ситуация, я не знаю, какую именно проблему вы решаете.

Другие варианты включают селен, упомянутый Лукашем, какое-то безумие, встроенное в webkit, какое-то безумие сценариев IE win32 или, наконец, решение на основе pyxpcom (с добавленным безумием). Все они имеют недостаток, заключающийся в том, что для работы Python требуется практически полностью работающий веб-браузер, что может не подходить в зависимости от вашей среды.

Вероятно, вы можете использовать для этого python-webkit. Требуется работающий glib и GTK, но это, вероятно, менее проблематично, чем оборачивать части webkit без glib.

Я не знаю, делает ли он все, что вам нужно, но я думаю, вам стоит попробовать.

Я думаю, что pywebkitgtk может отображать только html-страницу. Можно ли получить исходный xml-код после его рендеринга? По этому поводу недостаточно документов

cnu 24.09.2008 14:51

Другие вопросы по теме