Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 28, 2014 00:13:31

BossBox
Зарегистрирован: 2014-02-23
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Выполнение JS через urllib

Пробовал через urllib открыть страницу, но это просто запрос данных происходит к ней.

Вопрос:

Как можно и можно ли, запросить страницу через Python и чтобы выполнился JavaScript на ней?

Офлайн

#2 Июнь 28, 2014 00:16:16

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Выполнение JS через urllib

Может быть Selenium?
http://jeanphix.me/Ghost.py

Офлайн

#3 Июнь 28, 2014 00:18:43

BossBox
Зарегистрирован: 2014-02-23
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Выполнение JS через urllib

Singularity
Может быть Selenium?http://jeanphix.me/Ghost.py

Мне бы без лишних модулей (которые не нужно устанавливать) .. Только стандартным, Python 2.7.3

Отредактировано BossBox (Июнь 28, 2014 00:19:38)

Офлайн

#4 Июнь 28, 2014 00:20:25

john123
Зарегистрирован: 2013-12-22
Сообщения: 56
Репутация: +  7  -
Профиль   Отправить e-mail  

Выполнение JS через urllib

Вратце: нет, нельзя.
Библиотека urllib по-умолчанию просто посылает запросы и получает ответы сервера. Т.е. по сути только скачивает HTML-страницу.

Для того чтобы выполнить JS-код, нужно во-первых загрузить сами JS-файлы (если JS не на самой странице), а во-вторых нужен интерпретатор для выполнения этого кода.
Интерпретатором может выступать, например, “движок” JavaScript V8.

На практике проще воспользоваться phantomjs (урезанный Chrome) и WebDriver (GhostDriver) для управления этим браузером.

BossBox
Мне бы без лишних модулей (которые не нужно устанавливать) .. Только стандартным, Python 2.7.3
Без лишних модулей только если самому писать интерпретатор для выполнения JavaScript. А это не один месяц (а то и год) работы.

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

Отредактировано john123 (Июнь 28, 2014 00:23:11)

Офлайн

#5 Июнь 28, 2014 00:34:47

BossBox
Зарегистрирован: 2014-02-23
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Выполнение JS через urllib

Понял, спасибо за ответы.

Офлайн

#6 Июнь 28, 2014 09:23:22

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Выполнение JS через urllib

Если необходимо выполнение только одного JS (скажем установка кук), то можно использовать PyExecJS + Node.js.



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version