python登陆Tom邮箱的代码一例

本文出处参考:http://www.cnblogs.com/LinuxHunter/archive/2010/11/30/1891635.html 

在很多的 python 教程 中都会讲到登录邮箱或发送邮件的例子,好东西不怕多,本文也举一个例子。登录tom邮箱发信,代码如下: 
  1. def loginTom(username, password):  
  2.     url1 = '''  
  3.     http://login.mail.tom.com/cgi/login  
  4.     '''  
  5.       
  6.     values = {  
  7.         'type' : '0',  
  8.         'user' : '%s' % username,  
  9.         'in_username' : '%[email protected]' % username,  
  10.         'pass' : '%s' % password,  
  11.         'style' : '21',  
  12.         'verifycookie' : 'y'  
  13.     }  
  14.       
  15.     data = urllib.urlencode(values)  
  16.     req = urllib2.Request(url1, data)  
  17.     response = opener.open(req)  
  18.     data2 =response.read()  
  19.       
  20.     sid = re.search(r'(?<=(sid=)).*?(?=&)', data2).group()  
  21.       
  22.     url3 = '''  
  23.     http://bjapp6.mail.tom.com/cgi/ldapapp?funcid=mails&sid=%s&fid=1  
  24.     ''' % sid  
  25.     response = opener.open(url3)  
  26.     data3 = response.read()  
  27.       
  28.     b = re.search(r'(?<=nTotalMailCount).*?(?=;)', data3).group()  
  29.     c = re.search(r'\d.+', b).group()  
  30.     num_per_page = 20  
  31.     num_times = string.atoi(c) / 20  
  32.     print( num_times )  
  33.       
  34.     index = 0  
  35.     for match in re.finditer(r'(?<="Mbox_Td_Subject"\>).*?(?=\</)', data3):  
  36.         index += 1  
  37.         part1 = "第%d封邮件" % index  
  38.         part2 = " %s" % match.group()  
  39.         part1 = part1.decode('utf8').encode('gbk')  
  40.         subject = re.search(r'(?<=\>).+', part2).group()  
  41.         subject = part1.decode('gbk') + "    " + subject.decode('gbk')  
  42.         print( subject.encode('gbk'))  
  43.       
  44.     for i in xrange(num_times - 1):  
  45.         url3 = '''  
  46.         http://bjapp6.mail.tom.com/cgi/ldapapp?funcid=mails&sid=%s&fid=1&start=%d  
  47.         ''' % (sid, (i + 1) * num_per_page )  
  48.         response = opener.open(url3)  
  49.         data3 = response.read()  
  50.                   
  51.         for match in re.finditer(r'(?<="Mbox_Td_Subject"\>).*?(?=\</)', data3):  
  52.             index += 1  
  53.             part1 = "第%d封邮件" % index  
  54.             part2 = " %s" % match.group()  
  55.             part1 = part1.decode('utf8').encode('gbk')  
  56.             subject = re.search(r'(?<=\>).+', part2).group()  
  57.             subject = part1.decode('gbk') + "    " + subject.decode('gbk')  
  58.             print( subject.encode('gbk'))  

你可能感兴趣的:(python)