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

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

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

Ответы

Ответ 1

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

Ответ 2

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

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

Ответ 6

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