Итак, я довольно новичок в python, и у меня появилась идея сегодня создать скрипт, который опрашивает stackoverflow для моего представителя, и когда он меняется, он отправляет электронное письмо, которое отправляется на мой телефон в виде текста.
Работа с электронной почтой работает, но по какой-то причине я не могу правильно провести опрос, поэтому я решил, что посмотрю, возможно, вы, ребята, хотели бы попробовать.
Вот мой код:
import sys
from stackauth import StackAuth
from stackexchange import Site, StackOverflow
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders
import os
import time
gmail_user = "email@gmail.com"
gmail_pwd = "password"
def mail(to, subject, text):
msg = MIMEMultipart()
msg['From'] = gmail_user
msg['To'] = to
msg['Subject'] = subject
msg.attach(MIMEText(text))
mailServer = smtplib.SMTP("smtp.gmail.com", 587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login(gmail_user, gmail_pwd)
mailServer.sendmail(gmail_user, to, msg.as_string())
# Should be mailServer.quit(), but that crashes...
mailServer.close()
old_rep = None
while True:
user_id = 731221 if len(sys.argv) < 2 else int(sys.argv[1])
print 'StackOverflow user %d\'s accounts:' % user_id
stack_auth = StackAuth()
so = Site(StackOverflow)
accounts = stack_auth.associated(so, user_id)
REP = accounts[3].reputation
print REP
if REP != old_rep:
old_rep = REP
mail("email@email.com","REP",str(REP))
time.sleep(10)
В настоящее время, если вы печатаете REP, сначала это правильно, но не обновляется, если мой представитель изменяется.В идеале так и будет.Любая помощь очень ценится.Заранее спасибо.