Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 20, 2010 14:48:20

nordmen
От:
Зарегистрирован: 2010-05-04
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

использование браузера

здравствуйте. важный вопрос к экспертам - можно ли каким-нибудь образом использовать возможности браузера из питона? нужно выполнить html страницу с javascript на ней и получить результирующий html код. т.е. нужно обойти javascript защиту ) не для спама не бойтесь, а для сбора данных.
без создания графического интерфейса, в конольном приложении (на freebsd).



Отредактировано (Сен. 20, 2010 15:46:34)

Офлайн

#2 Сен. 20, 2010 17:35:44

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

использование браузера

Python spider monkey отлично подойдет для выполнения Javascript.



Офлайн

#3 Сен. 22, 2010 16:30:11

nordmen
От:
Зарегистрирован: 2010-05-04
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

использование браузера

спасибо, только это просто бридж к движку javascrpt, а не то что мне нужно. вот кстати еще был топик http://python.su/forum/viewtopic.php?pid=28293 может кому пригодится, там тоже несколько ссылок, но как получить желаемый результат я не разобрался.

в spidermonkey нельзя скармливать целую html страницу с js и получать результат.
хотелось бы сделать все без заморочек, т.е. скормил html cтраницу, она выполнилась и получил результирующий код. без всяких там парсингов и исполнения js и тд извращений. анализируемые страницы не статичны и настраивать для каждого отдельного случая не получится



Отредактировано (Сен. 22, 2010 16:59:26)

Офлайн

#4 Сен. 22, 2010 17:18:22

maxwell
От:
Зарегистрирован: 2008-08-26
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

использование браузера

nordmen,
1. что означает «скормил html cтраницу, она выполнилась»
2. Опишите задачу более подробно, возможно вы заранее идете по ложному пути и/или не понимаете проблему.



Офлайн

#5 Сен. 22, 2010 17:23:31

nordmen
От:
Зарегистрирован: 2010-05-04
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

использование браузера

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


вот кстати еще нашел, но только под win32
http://stackoverflow.com/questions/3637681/how-to-parse-a-web-use-javascript-to-load-html-by-python
под дельфями я помню работал с компонентом браузера и были интерфейсы, можно было любые действия выполнять и работать с DOM. нужно примерно тоже самое или просто сразу результирующий html как-то получить.



Отредактировано (Сен. 22, 2010 17:24:45)

Офлайн

#6 Сен. 22, 2010 17:32:49

maxwell
От:
Зарегистрирован: 2008-08-26
Сообщения: 111
Репутация: +  0  -
Профиль   Отправить e-mail  

использование браузера

nordmen, а не проще ли посмотреть какие AJAX запросы идут и посылать свой такой-же и получать html?
Я проблемы так и не увидел.



Офлайн

#7 Сен. 22, 2010 17:39:10

nordmen
От:
Зарегистрирован: 2010-05-04
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

использование браузера

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

тем более ajax это только на одно сайте, на других шифруют с помощью js.

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



Отредактировано (Сен. 22, 2010 17:41:09)

Офлайн

#8 Сен. 22, 2010 18:33:22

nordmen
От:
Зарегистрирован: 2010-05-04
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

использование браузера

насколько я понял с помощью PyWebKitGtk это возможно сделать только ковыряться долго. буду пробовать
кстати вот http://python.su/forum/viewtopic.php?id=7484 и http://python.su/forum/viewtopic.php?id=5977 еще буду пробовать сейчас отпишусь если что )



Отредактировано (Сен. 22, 2010 18:37:08)

Офлайн

#9 Сен. 22, 2010 18:40:32

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

использование браузера

Можно использовать движок WebKit.

Посмотрите
http://www.aclevername.com/articles/python-webgui/.
http://www.tuxradar.com/content/python-pygtk-webkit-20-minutes
http://blog.chex-its.me/2010/04/webkit-python-html-webkit.html



Отредактировано (Сен. 22, 2010 18:41:22)

Офлайн

#10 Сен. 24, 2010 12:09:44

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

использование браузера

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

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version