Ответ 1
Вам может быть лучше использовать инструмент, например Selenium, чтобы автоматизировать очистку с помощью веб-браузера, поэтому JS выполняется и страница отображается так же, как и для реального пользователя.
Я хочу очистить сайт, который использует JavaScript.
Существует mechanize, программный веб-браузер для Python. Однако он (понятно) не интерпретирует javascript. Есть ли программный браузер для Python? Если нет, существует ли какая-либо реализация JavaScript в Python, которую я мог бы использовать, чтобы попытаться создать ее?
Вам может быть лучше использовать инструмент, например Selenium, чтобы автоматизировать очистку с помощью веб-браузера, поэтому JS выполняется и страница отображается так же, как и для реального пользователя.
PyV8 пакет красиво обертывает Google V8 Javascript engine для Python. Это особенно приятно, потому что вы можете не только позвонить с Python на Javascript-код, но и перезвонить с Javascript на код Python. Это делает довольно простым реализовать обычные объекты, связанные с браузером (то есть все в глобальном пространстве имен Javascript: "окно", "документ" и т.д.), Что вам нужно будет сделать, если вы собираетесь сделать Javascript-способный эмулятор браузера Python, возможно, связав это с mechanize.
Мой любимый PyPhantomJS. Он написан с использованием Python и PyQt4. Он полностью безголовый, и вы можете полностью его контролировать из JavaScript.
Однако, если вы действительно хотите увидеть страницу, вы можете использовать QWebView
из PyQt4.
Существует также spynner "программный программный модуль веб-браузера для Python с поддержкой Javascript/AJAX на основе платформы QtWebkit": http://code.google.com/p/spynner/
Вы также можете попробовать определить триггеры страницы Chickenfoot на страницах, о которых идет речь, выполнить все операции, которые вы хотите на странице, и сохранить результаты операции в локальном файле и вызов Firefox из командной строки внутри вашей программы, а затем чтение файла.
Я рекомендую вам взглянуть на некоторые из доступных вам вариантов в http://wiki.python.org/moin/WebBrowserProgramming - на удивление это выглядит как общий вопрос (я нашел три на stackoverflow сегодня, выполнив поиск слов "python browser" в google). если вы сделаете то же самое, вы найдете другие ответы, которые я дал.
вы можете попробовать браузер zope
http://pypi.python.org/pypi?:action=display&name=zope.testbrowser