Aca te pongo 2 ejemplos que hice hace 1 año y algo, el primero es para autoclickear una web de PTC (Paid-To-Click).
Hace un request a la web, descarga el captcha, lo introducis manualmente, se loguea con los datos, entra a un anuncio y listo.
Esta a medio terminar, porque descubri que la web era un scam (estafa), asi que lo deje ahi nomas, pero lo que vos estas intentando hacer funciona.
import httplib, urllib, re, string
conn = httplib.HTTPConnection("www.alertbucks.com")
#cod = urllib.urlencode({'username':'TU_USER','password':'TU_PASS','code':'458939','loginsubmit':'Login'})
#headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
#conn.request("GET", "/login.php?",cod,headers)#?username=TU_USER&password=TU_PASS&code=598423&loginsubmit=Login") #"/view.php?ad=426")
#print cod, '\n\n\n'
conn.request("GET","/view.php?ad=553")
#params = urllib.urlencode({'': 1, 'eggs': 2, 'bacon': 0})
#headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
#conn = httplib.HTTPConnection("musi-cal.mojam.com:80")
#conn.request("POST", "/cgi-bin/query", params, headers)
response = conn.getresponse()
#print response.status, response.reason
data = response.read()
conn.close()
#print data
#m = re.search('(?<=")\10+', data)
#print m.group(1)
#print '\n-----------------------------------------\n'
pattern = re.compile (';')
m= pattern.split(data)
print m
#print string.split(m[3].strip(),'"')[1]
#print string.split(m[4].strip(),'"')[1]
#for i in m:
# print i,'\n'
#'success.php?ad=%d&code=%d&verify=1' % (ads, code)
Este otro, es muy similar al anterior, pero utilizando otro metodo
import urllib,urllib2
aut_h = urllib2.HTTPBasicAuthHandler()
aut_h.add_password('TU_USER')
opener = urllib2.build_opener(aut_h)
urllib2.install_opener(opener)
#params = urllib.urlencode({'username':'TU_USER','password':'TU_PASS','code':'722443','loginsubmit':'Login'})
f = urllib.urlopen("http://www.alertbucks.com/login.php?%s" % params)
print f.read()
f.close()
Espero te sirva.