2010-01-24 6 views
13

Sto scrivendo una piccola applicazione privato per accedere automaticamente al mio internet banking ogni giorno, e scaricare le ultime transazioni. Lo sto scrivendo come app Django, quindi sto lavorando in Python.Eventuali alternative Python al selenio per la registrazione programmatica in siti Web che richiedono il login per il login?

Il mio Internet banking non sembra funzionare senza JavaScript - Penso che usi JavaScript per assegnare un ID di sessione di qualche tipo. Il recupero della pagina di accesso tramite httplib mi fornisce una pagina che indica che è necessario JavaScript.

Quindi, ora sto cercando librerie che recuperano pagine Web, e eseguono il codice JavaScript su di esse. Quasi i browser senza testa.

Sto giocherellando sul Selenium al momento. Penso che farà il lavoro, anche se è progettato per le applicazioni di test web, quindi mi chiedevo se ci fosse qualcosa con funzionalità simili progettati per scopi più generale di collaudo.

Eventuali alternative Python per selenio per questo genere di cose?

risposta

4

poiché si utilizza il selenio Penso che tu abbia già installato Firefox. in tal caso prendi un'estensione come firebug o dati di manomissione e vedi quali richieste http il codice javascript farà durante l'accesso.

se hai l'url ei parametri necessari puoi facilmente programmare un client python con httplib o urllib2.

in firebug trovate gli URL richiesti sotto "NET". i dati di manomissione saranno auto-descrittivi. ;-)

+1

Questo è proprio ciò che ho finito per fare - si rivela in questo caso, il codice JavaScript non stava facendo nulla di complicato. Detto questo, dopo un weekend di screen-scraping, spero davvero che non aggiornino il front-end del sito web, almeno senza fornire un'API. –

1

Sembra che QtWebKit sia un'altra opzione.

0

Dal momento che BeautifulSoup non viene più sviluppato attivamente, consiglierei lxml poiché fa tutto ciò che BeautifulSoup può fare e molto altro.

+1

Bella sembra essere attivamente sviluppato ora https://code.launchpad.net/beautifulsoup – andyhasit

2

Penso che una buona corrispondenza per il tuo problema sia Twill: un semplice linguaggio di scripting per la navigazione sul Web.

Un altro da verificare è Windmill (una specie di selenio ma tutti scritti in Python).

3

È inoltre possibile utilizzare Spynner, consente la navigazione web programmatica.

Problemi correlati