Preface:前段时间boss突发奇想,想要检测iPhone6供货,吓我,这是干啥呢。同仁提到肯定是想抢iPhone6,打开官网:http://store.apple.com/cn/buy-iphone/iphone6,在当时的时候显示缺货,原来是想要检测官网iPhone6的页面变化,等到缺货变为有现货的时候立马下单抢,跟抢火车票似的,隔一段时间访问一次,检测页面是否发生了变化,发生了变化手机短信或者邮件通知用户立马下单。不过当时师兄立马写好了,又吓我,当时自己在备期末考,无暇顾及,如今考完了想试下,却也没坚持下来,但涉及到的一些模块也稍微记录下来。废话不多说,进入主题。。。
1.首先想到的是python发邮件,在python相关的技术群里看到过,搜了下,果然有个包:smtplib。各网友的博客也是一大堆,参考博友的随便写了个,不过,对于smtplib包不能发QQ邮箱,说是因为什么服务器问题。
python用smtplib包发邮件:
#coding:utf-8 import smtplib #用来发邮件的包 from email.mime.text import MIMEText mail_to="1357654126@qq.com" def send_mail(to_list,sub,content): ''' to_list:发给谁 sub:主题 context:内容 ''' #服务器,用户名、口令以及邮箱后缀 mail_host="smtp.163.com" #163服务器,若是其他的响应的换下,如126邮箱服务器 mail_user="XXXXX" #邮箱号,不用包括@及@后面的内容。 mail_pass="XXX" #邮箱密码 mail_postfix="163.com" #邮箱后缀 me=mail_user+"<"+mail_user+"@"+mail_postfix+">" msg=MIMEText(content) msg["Subject"]=sub msg["From"]=me msg["To"]=to_list try: s=smtplib.SMTP() s.connect(mail_host) s.login(mail_user,mail_pass) s.sendmail(me,to_list,msg.as_string()) s.close() return True except Exception,e: print "2" print str(e) return False if __name__=="__main__": if send_mail(mail_to,"hello","this is python sent"): print "send success" else: print "send fail"
python用urllib获取网页:
import urllib s_url="http://store.apple.com/cn/buy-iphone/iphone6" s_txt=urllib.urlopen(s_url).read() print s_txt print 30*"*"
解析json,不用说,官网资料最全了:https://docs.python.org/2/library/json.html,其次一些博友的博客:http://crazyof.me/blog/archives/368.html
#coding:utf-8 ''' ''' import json s=json.loads('{"name":"test","type":{"name":"seq","parameter":["1","2"]}}') print s print s.keys() print s["name"] print s["type"]["name"] print s["type"]["parameter"][1] for i in s.keys(): print i,s[i]
原文地址:http://blog.csdn.net/u010454729/article/details/42737233