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

yipeiwu_com5年前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'))

相关文章

Python3的高阶函数map,reduce,filter的示例详解

函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。 注意其中:map和filter返回一个惰性序列,可迭代对象,需要转化为list >&...

pip install python 快速安装模块的教程图解

pip install python 快速安装模块的教程图解

之前python安装模块要在网络上下载,从python2.7.9之后,以及python3,python就自带pip 这个命令,能够快速的安装模块 1, 首先打开python的主文件夹...

python 接收处理外带的参数方法

在执行python 代码的时候,有时候需要传递外面的参数进行处理 这个该怎么实现呢? 需要一个模块 from sys import argv 当然也可以直接只导入 sys im...

python SVD压缩图像的实现代码

python SVD压缩图像的实现代码

前言 利用SVD是可以对图像进行压缩的,其核心原因在于,图像的像素之间具有高度的相关性。 代码 # -*- coding: utf-8 -*- ''' author@cclplu...

python映射列表实例分析

本文实例讲述了python映射列表。分享给大家供大家参考。具体分析如下: 列表映射是个非常有用的方法,通过对列表的每个元素应用一个函数来转换数据,可以使用一种策略或者方法来遍历计算每个元...