Программный браузер Python с JavaScript

Я хочу зачищают веб-сайт, который использует JavaScript.

здесь механизировать, программный веб-браузер для Python. Однако он (понятно) не интерпретирует javascript. Есть ли какой-либо программный браузер для Python, который делает? Если нет, есть ли какая-либо реализация JavaScript в Python, которую я мог бы использовать для создания?

7 ответов


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


на PyV8 пакета красиво заворачивает движок Javascript V8 от Google для Python. Это особенно приятно, потому что вы можете не только звонить из Python в код Javascript, но и перезванивать из Javascript в код Python. Это позволяет довольно просто реализовать обычные объекты, поставляемые браузером (то есть все в глобальном пространстве имен Javascript: "окно"," документ " и т. д.), Что вам нужно сделать, если вы собираетесь сделать Javascript-способный эмулятор браузера Python, возможно, подключив это с помощью механизировать.


мой любимый PyPhantomJS. Он написан с использованием Python и PyQt4. Он полностью безголовый, и вы можете полностью управлять им из JavaScript.

однако, если вы хотите увидеть страницу, вы можете использовать QWebView из PyQt4, а также.


существует также spynner "модуль программного веб-браузера с состоянием для Python с поддержкой Javascript / AJAX на основе QtWebKit framework":http://code.google.com/p/spynner/


вы также можете попробовать определением Chickenfoot страница запускает на рассматриваемых страницах, выполняя любые операции, которые вы хотите на странице, и сохраняя результаты операции в локальный файл, и вызывая Firefox из командной строки внутри вашей программы, а затем читая файл.


Я рекомендую вам взглянуть на некоторые из вариантов, доступных для вас вhttp://wiki.python.org/moin/WebBrowserProgramming - удивительно, что это возникает как общий вопрос (я нашел три на stackoverflow сегодня, ища слова "браузер python" в google). если вы сделаете то же самое, вы найдете другие ответы, которые я дал.


вы можете попробовать Zope browser

http://pypi.python.org/pypi?:action=display&name=zope.testbrowser