Python. Эмулятор браузера с выполнением Javascript/Ajax - Форум успешных вебмастеров - GoFuckBiz.com - Страница 2
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB88.6852
BTC/USD67918.1966
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 12.02.2011, 01:29
Start Post: Python. Эмулятор браузера с выполнением Javascript/Ajax 
  #11
freeman
фетишист
 
Аватар для freeman
 
Регистрация: 28.12.2009
Сообщений: 148
Бабло: $25620
По умолчанию

Знаю, что боян, так как линк на эту либу уже где-то проскакивал на гоуфаке. Но уверен, что кто-то до сих пор ищет такой солюшн. Данное решение юзаю уже достаточно давно, либу брал тут.

В качестве движка используется WebKit. Собственно, что умеет:

- рендеринг html5 + css3
- выполнение Javascript/Ajax
- селекция с помощью jQuery
- поддержка куков
- смена юзерагента
- может работать через proxy/socks5
- умеет делать снэпшоты
- полный доступ к DOM

Может работать на линуксе без иксов, через фрейм-буфер. Либа не идеальна, есть пару мелких косяков.
Вложения
Тип файла: zip spynner.zip (52.7 Кб, 77 просмотров)
freeman вне форума  
Старый 13.02.2011, 18:03   #12
freeman
фетишист
 
Аватар для freeman
 
Регистрация: 28.12.2009
Сообщений: 148
Бабло: $25620
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от gameover Посмотреть сообщение
в первом посте ссылка на svn с пояснением была бы лучше, апстрим это все таки апстрим
Отредактировать первый пост уже нет возможности, а гуглкодом вроде все пользоваться умеют.

rushter, Там код довольно хорошо прокомментирован.
freeman вне форума  
Старый 15.02.2011, 05:16   #13
href
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

Сорри если не совсем в тему)
href вне форума  
Старый 15.02.2011, 08:45   #14
JackL
Senior Member
 
Аватар для JackL
 
Регистрация: 25.06.2007
Сообщений: 259
Бабло: $25500
По умолчанию

спасибо - проблема htmlunit , то что он юзает старый интерпретатор js , а это вроде вебкит вообще headless браузеров не хватает
JackL вне форума  
Старый 15.02.2011, 11:08   #15
y4b53
:(
 
Аватар для y4b53
 
Регистрация: 25.11.2008
Сообщений: 759
Бабло: $94392
По умолчанию

Она только в 1 поток сможет работать ?
__________________
Знать путь и пройти его — не одно и то же. Pharmcash & PharmcashUSA - знаем, проходили... Лидеры в фарме
y4b53 вне форума  
Старый 15.02.2011, 14:53   #16
rushter
Senior Member
 
Регистрация: 28.11.2009
Сообщений: 1,800
Бабло: $299365
По умолчанию

Как она не знаю, но сам Pyqt4.Webkit не проблема в нескольких потоках использовать.
rushter вне форума  
Старый 15.02.2011, 20:30   #17
freeman
фетишист
 
Аватар для freeman
 
Регистрация: 28.12.2009
Сообщений: 148
Бабло: $25620
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от y4b53 Посмотреть сообщение
Она только в 1 поток сможет работать ?
Нет, можно запускать многопоточно.
freeman вне форума  
Старый 15.02.2011, 20:54   #18
res1dent
Везучий ВМ
 
Аватар для res1dent
 
Регистрация: 21.08.2009
Сообщений: 1,495
Бабло: $239825
Отправить сообщение для res1dent с помощью Telegram
По умолчанию

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. 
есть еще такая штука - мачаниз
__________________
Не зная ни сна и ни отдыха, при лунном и солнечном свете, легко и просто качаю бабло в интернете
res1dent вне форума  
Старый 15.02.2011, 21:02   #19
rushter
Senior Member
 
Регистрация: 28.11.2009
Сообщений: 1,800
Бабло: $299365
По умолчанию

Механайз js не умеет.
rushter вне форума  
Старый 16.02.2011, 00:16   #20
super
Ебланнед
 
Регистрация: 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.
super вне форума  
Старый 16.02.2011, 01:05   #21
medar
кодер-энтузиаст
 
Аватар для medar
 
Регистрация: 04.04.2007
Адрес: Джамайка
Сообщений: 3,381
Бабло: $447150
По умолчанию

Цитата:
Сообщение от super Посмотреть сообщение
основы знаю питона, так как дальше не стал учить, посоветуйте самые мощные 1 - 2 фреймворка
Django.
Но лучше новую тему открыть для холиваров.
medar вне форума