2009-08-18 4 views
7

necesito algo así como iMacros para Python. Sería genial tener algo así:Python WWW macro

browse_to('www.google.com') 
type_in_input('search', 'query') 
click_button('search') 
list = get_all('<p>') 

¿Sabes algo así?

Gracias de antemano, Etam.

Respuesta

7

Casi un cumplimiento directo de los deseos en la pregunta - twill.

twill es un lenguaje simple que permite a los usuarios navegar por la Web desde una interfaz de línea de comandos. Con sarga, puede navegar a través de sitios web que usan formularios, cookies y la mayoría de las funciones estándar de la Web.

twill admite pruebas Web automatizadas y tiene una interfaz simple de Python.

(pyparsing, mechanize y BeautifulSoup se incluyen con sarga para mayor comodidad.)

Un Python API ejemplo:

from twill.commands import go, showforms, formclear, fv, submit 

go('http://issola.caltech.edu/~t/qwsgi/qwsgi-demo.cgi/') 
go('./widgets') 
showforms() 

formclear('1') 
fv("1", "name", "test") 
fv("1", "password", "testpass") 
fv("1", "confirm", "yes") 
showforms() 

submit('0') 
6

Utilice mechanize. Además de ejecutar JavaScript en una página, es bastante bueno.

0

Otro aspecto a considerar es escribir su propio guión. En realidad, no es tan difícil una vez que te acostumbras, y sin invocar media docena de grandes bibliotecas, incluso podría ser más rápido (pero no estoy seguro). Utilizo un depurador web llamado "Charles" para navegar sitios web que quiero borrar. Registra todas las comunicaciones HTTP salientes/entrantes, y yo uso los registros para realizar ingeniería inversa de las cadenas de consulta. Manipularlos en python hace un raspado bastante rápido y flexible.

Cuestiones relacionadas