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

一、使用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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 一、相关模块介绍 发送邮件主要用到了smtplib和email两个模块,这里首先就两个模块进行一下简单的介绍: 1...
    LizPL阅读 1,377评论 0 3
  • Python的面向对象 类 Class 类变量 Class variable 数据成员 Data member 函...
    JasonJe阅读 1,153评论 0 3
  • 7月15日到7月16日,骑行路线图: 北京到白洋淀,途径京白连接线,路况超级好走,两边还有树林,长度120余公里,...
    沐小沫阅读 1,702评论 0 0
  • 学书法有益孩子一生。但能否学成,关键在于家长。学生本人对学书法十分感兴趣、而学生家长又十分支持学生的兴趣选择的情形...
    艾道祥阅读 1,052评论 7 3