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'))

相关文章

使用Python和Scribus创建一个RGB立方体的方法

使用Python和Scribus创建一个RGB立方体的方法

使用 Scribus 的 Python 脚本编写器功能,开发一个显示 RGB 色谱的 3D 立方体。 当我决定这个夏天要玩色彩游戏时,我想到通常色彩都是在色轮上描绘的。这些色彩通常都是使...

numpy中实现ndarray数组返回符合特定条件的索引方法

numpy中实现ndarray数组返回符合特定条件的索引方法

在numpy的ndarray类型中,似乎没有直接返回特定索引的方法,我只找到了where函数,但是where函数对于寻找某个特定值对应的索引很有用,对于返回一定区间内值的索引不是很有效,...

详解python进行mp3格式判断

项目中使用mp3格式进行音效播放,遇到一个mp3文件在程序中死活播不出声音,最后发现它是wav格式的文件,却以mp3结尾。要对资源进行mp3格式判断,那么如何判断呢,用.mp3后缀肯定不...

深入理解 Python 中的多线程 新手必看

示例1 我们将要请求五个不同的url: 单线程 import time import urllib2 defget_responses(): urls=[ ‘http...

Python 判断文件或目录是否存在的实例代码

使用 os 模块 判断文件是否存在 os.path.isfile(path) 判断目录是否存在 os.path.isdir(path) 判断路径是否存在 # 使用 path 模块 o...