Re: [Python-es] Módulo para automatizar tareas web

Carlos Zuniga carlos.zun en gmail.com
Sab Jul 25 15:09:26 CEST 2009


2009/7/25 Arnau Sanchez <pyarnau en gmail.com>:
> Buenas,
>
> Hace ya un tiempo que ando buscando un módulo Python que me permita simular
> un navegador web con soporte para Javascript/AJAX. Hasta ahora, siempre que
> lo he necesitado, he tirado de urllib2 + BeautifulSoup, pero la cantidad de
> páginas en las que necesitas Javascript ó AJAX va creciendo sin remedio...
> si le dedicas suficiente esfuerzo (y alguna vez lo he hecho) puedes analizar
> el HTML, parsear el código Javascript, mandárselo a Spidermonkey (intérprete
> Javascript), etc, pero el proceso es extremadamente tedioso (sin contar que
> cualquier cambio en el código de la página te tira abajo el invento).
>
> Si no voy errado, librerías como mechanize, twill, scrapy y compañía no
> soportan Javascript (bueno, scrapy parece que usa spidermonkey, pero fui
> incapaz de encontrar documentación o ejemplos al respecto)
>
> Al final todos los caminos parecen llevar a librerías que controlan un
> navegador (no me atrae la idea) o a Selenium (http://selenium.openqa.org/).
> Pero por mucho que Selenium se pueda usar con Python, no quiero depender de
> la máquina virtual Java, y a ser posible también querría evitar un esquema
> cliente/servidor. Lo ideal sería una librería Python (multiplataforma) que
> importes, uses y cierres, sin mayor historia, que sirva tanto de crawler
> como de librería de testing. Algo que, en fin, te permitiera hacer cosas
> como éstas:
>
> browser = Browser()
> browser.load("http://server.org")
> browser.fill("input[name=user]", "myuser")
> browser.fill("input[name=password]", "mypassword")
> browser.click("input[name=send]")
> html = browser.get_html()
> ...
>
> Añadiendo al lote jquery (para el control Javascript) y BeautifulSoup/lxml/
> pyquery/... (para parsear el HTML) creo que quedaría algo bastante potente.
> He empezado a hacer algunas pruebas con pyQtWebKit (http://webkit.org/,
> http://trac.webkit.org/wiki/QtWebKit) y los resultados son muy prometedores.
> Qt no deja de ser una librería de tamaño considerable, pero creo que la
> dependencia sería asumible (y las ventajas de tener a tu disposición el
> framework Qt y WebKit, evidentes)
>
> En fin, después de todo este rollo la pregunta es: ¿puede resultar
> interesante dedicarle tiempo a este proyecto? ¿aporta algo a lo ya
> existente?
>
> saludos,
> arnau
>

Personalmente me parece que como cada sitio web es diferente, de todos
modos vas a tener que meterte a revisar el código de la página y como
está hecha.

Para eso, prefiero saltarme el javascript y utilizar curl de frente...

Si lo quieres para usuarios no técnicos, tal vez podrías probar con
iMacros para Firefox...
https://addons.mozilla.org/es-ES/firefox/addon/3863

Saludos
-- 
Linux Registered User # 386081
A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos
de leer manuales.
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es