|
| Дата |
|
USD/RUB | 88.6852 | BTC/USD | 67751.1020 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
12.02.2011, 01:29
|
Start Post: Python. Эмулятор браузера с выполнением Javascript/Ajax
|
фетишист
Регистрация: 28.12.2009
Сообщений: 147
Бабло: $25620
|
Знаю, что боян, так как линк на эту либу уже где-то проскакивал на гоуфаке. Но уверен, что кто-то до сих пор ищет такой солюшн. Данное решение юзаю уже достаточно давно, либу брал тут.
В качестве движка используется WebKit. Собственно, что умеет:
- рендеринг html5 + css3
- выполнение Javascript/Ajax
- селекция с помощью jQuery
- поддержка куков
- смена юзерагента
- может работать через proxy/socks5
- умеет делать снэпшоты
- полный доступ к DOM
Может работать на линуксе без иксов, через фрейм-буфер. Либа не идеальна, есть пару мелких косяков.
|
|
|
13.02.2011, 18:03
|
#12
|
фетишист
Регистрация: 28.12.2009
Сообщений: 147
Бабло: $25620
ТС -->
|
ТС
Цитата:
Сообщение от gameover
в первом посте ссылка на svn с пояснением была бы лучше, апстрим это все таки апстрим
|
Отредактировать первый пост уже нет возможности, а гуглкодом вроде все пользоваться умеют.
rushter, Там код довольно хорошо прокомментирован.
|
|
|
15.02.2011, 05:16
|
#13
|
Member
Регистрация: 09.12.2010
Сообщений: 78
Бабло: $9550
|
Для jruby есть прикольная обертка над htmlunit - называется Celerity. Есть многопоточность, исполняет аяксы, гуи не требует.
Пример обработки страницы с ajax:
require "rubygems"
require "celerity"
browser = Celerity::Browser.new
browser.goto('example.htm')
browser.select_list(:id, "country").select("Norway")
sleep(0.1) until browser.select_list(:id, "county").option(:text, "Oslo").exists # Wait until it exists
browser.select_list(:id, "county").option(:text, "Oslo").select
browser.button(:id, "submit").click
Сорри если не совсем в тему)
|
|
|
15.02.2011, 08:45
|
#14
|
Senior Member
Регистрация: 25.06.2007
Сообщений: 259
Бабло: $25500
|
спасибо - проблема htmlunit , то что он юзает старый интерпретатор js , а это вроде вебкит вообще headless браузеров не хватает
|
|
|
15.02.2011, 11:08
|
#15
|
:(
Регистрация: 25.11.2008
Сообщений: 758
Бабло: $94392
|
Она только в 1 поток сможет работать ?
__________________
Знать путь и пройти его — не одно и то же. Pharmcash & PharmcashUSA - знаем, проходили... Лидеры в фарме
|
|
|
15.02.2011, 14:53
|
#16
|
Senior Member
Регистрация: 28.11.2009
Сообщений: 1,787
Бабло: $299365
|
Как она не знаю, но сам Pyqt4.Webkit не проблема в нескольких потоках использовать.
|
|
|
15.02.2011, 20:30
|
#17
|
фетишист
Регистрация: 28.12.2009
Сообщений: 147
Бабло: $25620
ТС -->
|
ТС
Цитата:
Сообщение от y4b53
Она только в 1 поток сможет работать ?
|
Нет, можно запускать многопоточно.
|
|
|
15.02.2011, 20:54
|
#18
|
Везучий ВМ
Регистрация: 21.08.2009
Сообщений: 1,495
Бабло: $239825
|
PHP код:
[1]SourceForge.net Logo
mechanize
Stateful programmatic web browsing in Python, after Andy Lester's Perl
module [2]WWW::Mechanize .
* mechanize.Browser is a subclass of mechanize.UserAgentBase, which
is, in turn, a subclass of urllib2.OpenerDirector (in fact, of
mechanize.OpenerDirector), so:
+ any URL can be opened, not just http:
+ mechanize.UserAgentBase offers easy dynamic configuration of
user-agent features like protocol, cookie, redirection and
robots.txt handling, without having to make a new
OpenerDirector each time, e.g. by calling build_opener().
* Easy HTML form filling, using [3]ClientForm interface.
* Convenient link parsing and following.
* Browser history (.back() and .reload() methods).
* The Referer HTTP header is added properly (optional).
* Automatic observance of [4]robots.txt.
* Automatic handling of HTTP-Equiv and Refresh.
есть еще такая штука - мачаниз
__________________
Не зная ни сна и ни отдыха, при лунном и солнечном свете, легко и просто качаю бабло в интернете
|
|
|
15.02.2011, 21:02
|
#19
|
Senior Member
Регистрация: 28.11.2009
Сообщений: 1,787
Бабло: $299365
|
Механайз js не умеет.
|
|
|
16.02.2011, 00:16
|
#20
|
Ебланнед
Регистрация: 03.06.2008
Сообщений: 3,846
Бабло: $432125
|
чтобы не создавать новый тред, спрошу здесь
основы знаю питона, так как дальше не стал учить, посоветуйте самые мощные 1 - 2 фреймворка, самые лучшие и с большими возможностями, так как если решу выучить его нормально сразу читать буду фреймы
кстати странно, но python, если смотреть этот рейтинг обошёл php по популярности и это несмотря на то, что столько проектов создано на php, да и вообще скриптовой язык давно кроме php не наблюдался в TOP 5
http://www.tiobe.com/index.php/conte...pci/index.html
но дальше конечно с 4 места он не вырвиться, так как там java, c++
Последний раз редактировалось super; 16.02.2011 в 00:23.
|
|
|
16.02.2011, 01:05
|
#21
|
кодер-энтузиаст
Регистрация: 04.04.2007
Адрес: Джамайка
Сообщений: 3,378
Бабло: $447150
|
Цитата:
Сообщение от super
основы знаю питона, так как дальше не стал учить, посоветуйте самые мощные 1 - 2 фреймворка
|
Django.
Но лучше новую тему открыть для холиваров.
|
|
|
|