그래서 저는 Python을 처음 접했을뿐입니다. 그리고 오늘 내 담당자를 위해 stackoverflow를 폴링하는 스크립트를 만드는 아이디어를 얻었습니다. 그리고 변경 사항이있을 때 이메일을 보내면 내 전화로 보내집니다. 본문.pystackexchange 폴링 문제
전자 메일을 보내는 부분이 작동하지만 어떤 이유로 나는 폴링 권한을 얻을 수 없으므로 아마 여러분들이 찌르기를 원한다면 내가 볼 수 있을지 결정했습니다.
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 protected]"
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 protected]","REP",str(REP))
time.sleep(10)
당신이 REP를 인쇄하면 현재 그것은 바로 처음이지만, 내 담당자가 변경되면 나던 갱신 :
여기 내 코드입니다. 이상적입니다. 도움을 주시면 대단히 감사하겠습니다. 미리 감사드립니다.
지긋 지긋한 서식을 지정하면 문제가 해결됩니다. 죄송합니다. – MikeVaughan
들여 쓰기 오류가있는 것 같습니다. while 루프에서 코드를 수정해야합니다. 폴링이 제대로 작동하지 않는다고 말하면 무엇을 기대합니까? 현재의 행동은 무엇입니까? – zeekay
실제 코드에 들여 쓰기 오류가 있다고 생각하지 않습니다. 서식을 지정하는 데 stackoverflows를 사용하지 않았습니다. 현재 REP를 인쇄하면 처음에는 적합하지만 내 담당자가 변경되면 업데이트되지 않습니다. 이상적입니다. – MikeVaughan