python模拟登陆Tom邮箱示例分享

yipeiwu_com6年前Python基础
复制代码 代码如下:

def loginTom(username, password):
 url1 = '''
 http://login.mail.tom.com/cgi/login
 '''

 values = {
  'type' : '0',
  'user' : '%s' % username,
  'in_username' : '%s@tom.com' % username,
  'pass' : '%s' % password,
  'style' : '21',
  'verifycookie' : 'y'
 }

 data = urllib.urlencode(values)
 req = urllib2.Request(url1, data)
 response = opener.open(req)
 data2 =response.read()

 sid = re.search(r'(?<=(sid=)).*?(?=&)', data2).group()

 url3 = '''
 http://bjapp6.mail.tom.com/cgi/ldapapp?funcid=mails&sid=%s&fid=1
 ''' % sid
 response = opener.open(url3)
 data3 = response.read()

 b = re.search(r'(?<=nTotalMailCount).*?(?=;)', data3).group()
 c = re.search(r'\d.+', b).group()
 num_per_page = 20
 num_times = string.atoi(c) / 20
 print( num_times )

 index = 0
 for match in re.finditer(r'(?<="Mbox_Td_Subject"\>).*?(?=\</)', data3):
  index += 1
  part1 = "第%d封邮件" % index
  part2 = " %s" % match.group()
  part1 = part1.decode('utf8').encode('gbk')
  subject = re.search(r'(?<=\>).+', part2).group()
  subject = part1.decode('gbk') + "    " + subject.decode('gbk')
  print( subject.encode('gbk'))

 for i in xrange(num_times - 1):
  url3 = '''
  http://bjapp6.mail.tom.com/cgi/ldapapp?funcid=mails&sid=%s&fid=1&start=%d
  ''' % (sid, (i + 1) * num_per_page )
  response = opener.open(url3)
  data3 = response.read()

  for match in re.finditer(r'(?<="Mbox_Td_Subject"\>).*?(?=\</)', data3):
   index += 1
   part1 = "第%d封邮件" % index
   part2 = " %s" % match.group()
   part1 = part1.decode('utf8').encode('gbk')
   subject = re.search(r'(?<=\>).+', part2).group()
   subject = part1.decode('gbk') + "    " + subject.decode('gbk')
   print( subject.encode('gbk'))

相关文章

Python创建系统目录的方法

本文实例讲述了Python创建系统目录的方法。分享给大家供大家参考。具体如下: Python2 mkdir在没有上级目录时创建会失败.该方法可以创建多级目录。 /temp/gapgers...

Python魔法方法功能与用法简介

本文实例讲述了Python魔法方法功能与用法。分享给大家供大家参考,具体如下: 1、什么是魔法方法? 魔法方法就是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某...

使用Python中的greenlet包实现并发编程的入门教程

1   动机 greenlet 包是 Stackless 的副产品,其将微线程称为 “tasklet” 。tasklet运行在伪并发中,使用channel进行同步数据...

浅析Python中的多条件排序实现

浅析Python中的多条件排序实现

多条件排序及itemgetter的应用 曾经客户端的同事用as写一大堆代码来排序,在得知Python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣。 之前在做足球的积分榜的...

python 在指定范围内随机生成不重复的n个数实例

python 在指定范围内随机生成不重复的n个数实例

利用Python中的randomw.sample()函数实现 resultList=random.sample(range(A,B),N); #表示从[A,B]间随机生成N个数,结...