Oui, mais le code que tu donnes ne peux pas fonctionner pour une page web avec login. Apparement, il existe une sorte d'environement qui est à simuler afin de garder les cookies par exemple ou tous les autres systèmes déstinés à garder ton identification le temps d'une session.
Voilà où j'en suis. On va peux être y arriver en s'entre-aidant :-)
J'ai suivi le message que j'ai mis en lien et j'arrive à me connecter sur developpez sans intervenir manuellement.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| import mechanize
br = mechanize.Browser()
br.open('http://developpez.net/forums/')
print br
br.select_form(None,None,0)
br.form.set_value('ici-ton-login', name='vb_login_username')
br.form.set_value('ici-ton-password', name='vb_login_password')
br.submit()
print br.title()
br.follow_link(url='http://developpez.net/forums/')
br.follow_link(url_regex=r'private.php$')
print br.title()
br.close() |
Et l'ordinateur me renvoie ceci en sortie:
1 2 3
| <Browser visiting http://www.developpez.net/forums/>
Forum des développeurs
Forum des développeurs - Boîte de réception |
Le fait qu'il affiche *boite de reception* dans le titre prouve bien que le programme s'est bien connecté au site. Enfin je crois... mais c'est à vérifier en récupérant le code source HTML de la page, ce dont je suis actuellement incapable.
Bref la solution n'est plus très loin.
Après ce sera à tester avec d'autres sites en croisant les doigts que les systèmes d'identifications soient compatible avec mechanize...
Pour tout cela il faut absoluement que tu installes mechanize.
Moi je suis sous linux, j'ai fait comme ça:
sudo easy_install mechanize
bon si tu es sous windows je ne sais pas comment procéder désolé.
Ce qui me fait raler c'est que je suis incapable de récupérer le contenu de la page avec br.quelquechose() ... c'est dommage.
Partager