树莓派上搭建python黄金买卖提醒

2017-01-02  本文已影响56人  xaiolos

一、使用python获取黄金的价格

通过正则表达式找到时间和价格,直接上code:

def getPageContent(self):

myUrl='xxx网址'+str(self.page)

user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'

headers = { 'User-Agent' : user_agent }

req = urllib2.Request(myUrl, headers = headers)  #模拟浏览器

myResponse=urllib2.urlopen(req)

myPgae=myResponse.read()

myItems=re.findall('(\d{4}-\d{1,2}-\d{1,2})',myPgae,re.S) #匹配时间的正则表达式

for item in myItems:  

     content=item.strip()

myItems1=re.findall('(.*?)',myPgae,re.S)

for item1 in myItems1:

     content1=item1.strip()

print content + '\n' +content1 +' 元/克'

二、发送邮件提醒

fromaddr = "xxx@163.com"

smtpaddr = "smtp.163.com"

toaddrs =  "xxxxx@qq.com"

if float(content1) <= 265:

    subject = "黄金可以买入 "+content+" "+content1+'元/克'

elif float(content1) >= 280:

     subject = "黄金需要卖出 "+content+" "+content1+'元/克'

else:

     return

password = "xxx"

msg = ""

mail_msg = MIMEMultipart()

if not isinstance(subject,unicode):

subject = unicode(subject, 'utf-8')

mail_msg['Subject'] = subject

mail_msg['From'] =fromaddr

mail_msg['To'] = toaddrs

mail_msg.attach(MIMEText(msg, 'html', 'utf-8'))

try:

s = smtplib.SMTP()

s.connect(smtpaddr)  #连接smtp服务器

s.login(fromaddr,password)  #登录邮箱

s.sendmail(fromaddr, toaddrs, mail_msg.as_string()) #发送邮件

print u'发送成功'

s.quit()

except Exception,e:

        print "Error: unable to send email"

        print traceback.format_exc()

三、配置crontab定时运行提醒

使用linux下的crontab来配置:

crontab -e

1 8 * * 1-5 /usr/bin/python /home/pi2/get_gold_3.py

1、这部分遇到个麻烦,不管当前用户或者root,怎么配置都不成功,最后发现crontab是针对用户的,而执行脚本是放在另外一个用户下,尝试在此用户下配置,结果ok,root下配置都无法正常执行很不解。

2、由于脚本里有print打印可能导致执行不成功,可以在每条命令后增加:

>/dev/null 2>&1

没有尝试,将脚本里的print全部注释掉了,。

后续使用BeautifulSoup模块(HTML相关的模块)来实现吧。。。

GitHub地址:

https://github.com/xaiolos/First

参考:

crontab执行语句重定向:

http://www.pooy.net/ubuntu-open-crontab-logging-and-resolution-no-mta-installed-discarding-output-problem.html

开启crotab日志:

http://blog.csdn.net/w6611415/article/details/36932053

python自动发送邮件脚本:

http://blog.csdn.net/kevin_zhai/article/details/47720789

上一篇下一篇

猜你喜欢

热点阅读