PythonВытягиваем количество входящих сообщений на Gmail

Недавно прочитал статью на хабре. Решил сделать свой вариант, только с рапутницами и преферансом, потому что часто приходится шарахаться между виндой и линуксом, нужно было кроссплатформенное рашение. Решил что может быть интересно кому-нибудь, тем более, что последнее время были жалобы на нехватку статей. Вот листинг:

import urllib  ## импорт модулей
import re

gml = ''
adr = "https://mail.google.com/mail/feed/atom"  ## адрес гуглоленты и получение ее исходника
cont = urllib.urlopen(adr)  ## регулярное выражение для получения количества входящих
s = cont.read() 

reg = re.compile(r"<fullcount>\d+</fullcount>")  ## которое хранится между тегами <fullcount></fullcount>

gmlcnt = reg.search(s).group()
reg2 = re.compile(r"\d+")  ## образаем <fullcount></fullcount>
gml = reg2.search(gmlcnt).group()

print 'Gmail inbox:', gml  ## наверно вывод =)

while raw_input():
    pass


Вот и все. Такая вот ерунда.

Есть ещё такой менее безопасный но действенный способ:

import os
import string


username="login"
password="*****"

com="wget -O - https://"+username+":"+password+"@mail.google.com/mail/feed/atom --no-check-certificate"

temp=os.popen(com)
msg=temp.read()
index=string.find(msg,"<fullcount>")
index2=string.find(msg,"</fullcount>")
fc=int(msg[index+11:index2])

if fc==0:
   print "0"
else:
   print str(fc)+""
  • +5
  • v0id
  • 14 сентября 2009, 23:15