1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| #!/usr/bin/python
import cookielib, urllib, urllib2
import os.path
import sys
COOKIEFILE = 'cookies.lwp'
cj = None
vb_login_username = 'mon_login'
vb_login_password = 'mon_mot_de_passe'
urlopen = urllib2.urlopen
Request = urllib2.Request
cj = cookielib.LWPCookieJar()
if os.path.isfile(COOKIEFILE):
# si nous avons un fichier cookie déjà sauvegardé alors charger les cookies dans le Cookie Jar
cj.load(COOKIEFILE)
# Maintenant nous avons besoin d'avoir notre Cookie Jar installé dans l'opener pour chercher des URLs
if cookielib is not None:
# si nous utilisons cookielib alors nous appelons HTTPCookieProcessor et installons l'opener dans urllib2
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)
else:
# Puisque nous utilisons ClientCookie, nous appelons HTTPCookieProcessor et installons l'opener dans ClientCookie
opener = ClientCookie.build_opener(ClientCookie.HTTPCookieProcessor(cj))
ClientCookie.install_opener (opener)
mon_url = 'http://archives.devshed.com/forums/python-122/'
# On envoie login/password au site qui nous renvoie un cookie de session
values = {'vb_login_username':vb_login_username, 'vb_login_password':vb_login_password }
txdata = urllib.urlencode(values)
txheaders = {'User-agent' : 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'}
try:
req = Request(mon_url, txdata, txheaders) ### création d'un objet request
handle = urlopen(req) ### on l'ouvre pour renvoyer un handle sur l'url
# Ecriture :
f = open("forum_python.html", "w")
f.write(handle.read())
f.close()
except IOError, e:
sys.exit()
else:
print handle.info() |
Partager