• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
LinuxHunter
原创+技巧=无坚不摧
博客园    首页    新随笔    联系   管理    订阅  订阅
使用python登陆Yahoo邮箱
使用python登陆Yahoo邮箱
def loginYahoo(username, password):	
	url0 = '''
	http://mail.yahoo.com.cn
	'''	
	response = opener.open(url0)
	data0 = response.read()
	
	done =re.search( r'(?<=(value=")).*?(?=")', re.search( r'(?<=(name=\.done)).*?(?=>)', data0 ).group()).group()
	challenge = re.search( r'(?<=(value=")).*?(?=")', re.search( r'(?<=(name="\.challenge")).*?(?=>)', data0 ).group()).group()


	url1 = '''
	http://edit.bjs.yahoo.com/config/login
	'''
	values = {
		'.intl' : 'cn',
		'.done' : "%s%s" % (done, "%26.remember%3Dy%26.persistent%3D"),
		'.src' : 'ym',
		'.cnrid' : 'ymhp_20000',
		'.challenge' : '%s' % challenge,
		'login' : '%s@yahoo.cn' % username,
		'passwd' : '%s' % password,
		'.remember' : 'y',
		'submit' : '%B5%C7%C2%BC'
	}
	
	data = urllib.urlencode(values)
	req = urllib2.Request(url1, data)
	req.add_header('Referer', 'http://mail.cn.yahoo.com/')
	response = opener.open(req)
	data2 =response.read()
	
	folder = re.search( r'(?=(showFolder)).*?(?=")', data2).group()	
	total = re.search( r'(?<=(tt=)).*', folder).group()
	num_per_page = re.search( r'(?<=(pSize=)).*?(?=&)', folder ).group()
	num_per_page = string.atoi(num_per_page)
	mod = string.atoi(total) % num_per_page
	num_times = string.atoi(total) / num_per_page
	if mod > 0 :
		num_times += 1;
	
	index = 0
	for i in xrange(num_times):
		url2 = "http://cn.mc924.mail.yahoo.com/mc/%s&startMid=%d" % (folder, i * num_per_page )
		response = opener.open(url2)
		data3 = response.read()	
		
		for match in re.finditer(r'(?<=(showMessage)).*?(?=\>)', data3):
			index += 1
			part1 = "第%d封邮件" % index
			part2 = "%s" % match.group()
			part1 = part1.decode('utf8').encode('gbk')
			subject = re.search( r'(?<=(title=")).*?(?=")', part2 ).group()
			subject = part1.decode('gbk') + "    " + subject.decode('utf8')
			print( subject.encode('gbk'))
posted on 2010-11-30 00:18  LinuxHunter  阅读(1200)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3