これが、個人的なビットをスクラブした私のスクリプトです。
import urllib, urllib2, cookielib
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
resp3 = opener.open('https://www.mynexia.com/login')
resp4 = resp3.read().split('input name=\"authenticity_token\" type=\"hidden\" value=\"')
resp5 = resp4[1].split('\" /></div>')
login = 'website username'
password = 'website pass'
authenticity_token = resp5
login_data = urllib.urlencode({'login' : login, 'password' : password,'authenticity_token' : authenticity_token})
opener.open('https://www.mynexia.com/session', login_data)
resp = opener.open('https://www.mynexia.com/houses/ourstaticaccountpage/climate')
resp1 = resp.read().split('<div class=\"temperature\"><span>')
resp2 = resp1[1].split('</span></div>')
int(resp2[0])
if resp2[0] > 75:
import smtplib
import string
SUBJECT = "Temperature is rising!"
TO = "helpdesk@whoever.blah"
FROM = "me@gmail.com"
text = "Temperature is " + resp2[0]
BODY = string.join((
"From: %s" % FROM,
"To: %s" % TO,
"Subject: %s" % SUBJECT,
"",
text
), "\r\n")
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login("me@gmail.com", "gmailpass")
server.sendmail(FROM, [TO], BODY)
elif resp2[0] <= 75:
import smtplib
import string
SUBJECT = "Temperature is ok"
TO = "helpdesk@whereever.blah"
FROM = "me@gmail.com"
text = "Temperature is " + resp2[0]
BODY = string.join((
"From: %s" % FROM,
"To: %s" % TO,
"Subject: %s" % SUBJECT,
"",
text
), "\r\n")
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login("me@gmail.com", "gmailpass")
server.sendmail(FROM, [TO], BODY)
値が何であっても常に評価さresp2[0]
れることを除いて、正常に動作します。> 75
このスクリプトのポイントは、一部の機密性の高いマシンが実行されている部屋が75度よりも暖かくなったときに警告することです。私がスクレイピングしているWebサイトでは、90を超えた場合にのみアラートを送信できます。それまでに、マシンがダウンするリスクがあるため、早めにアラートを送信したいと思いました。15分ごとにcronjobを使用して実行し、if-elseステートメントが正しく機能するようになったら、「すべてがa-」を送信する代わりに、ログファイルに<=ダンプするだけです。了解しました。」私が基本的な数学で失敗する理由について何か提案はありますか?私に問題はありint(resp2[0])
ますか?デフォルトでは10進数ではありませんか?