Форум сайта python.su
0
Пробовал через urllib открыть страницу, но это просто запрос данных происходит к ней.
Вопрос:
Как можно и можно ли, запросить страницу через Python и чтобы выполнился JavaScript на ней?
Офлайн
75
Может быть Selenium?
http://jeanphix.me/Ghost.py
Офлайн
0
Singularity
Может быть Selenium?http://jeanphix.me/Ghost.py
Отредактировано BossBox (Июнь 28, 2014 00:19:38)
Офлайн
7
Вратце: нет, нельзя.
Библиотека urllib по-умолчанию просто посылает запросы и получает ответы сервера. Т.е. по сути только скачивает HTML-страницу.
Для того чтобы выполнить JS-код, нужно во-первых загрузить сами JS-файлы (если JS не на самой странице), а во-вторых нужен интерпретатор для выполнения этого кода.
Интерпретатором может выступать, например, “движок” JavaScript V8.
На практике проще воспользоваться phantomjs (урезанный Chrome) и WebDriver (GhostDriver) для управления этим браузером.
BossBoxБез лишних модулей только если самому писать интерпретатор для выполнения JavaScript. А это не один месяц (а то и год) работы.
Мне бы без лишних модулей (которые не нужно устанавливать) .. Только стандартным, Python 2.7.3
Отредактировано john123 (Июнь 28, 2014 00:23:11)
Офлайн
0
Понял, спасибо за ответы.
Офлайн
26
Если необходимо выполнение только одного JS (скажем установка кук), то можно использовать PyExecJS + Node.js.
Офлайн