根据要求这周的任务分为几个部分来解决:
1.如何使用python对指定的网页进行定时的刷新操作?
解决:通过在网上搜索找到了有关的信息,在一篇博客上找到了有效的信息:
[PHP] #!/usr/bin/env python from urllib import urlopen from threading import Timer def action(): urlopen("http://www.kunxi.org").read() Timer(3, action).start() action() [/PHP] |
2.第二个问题就是如何使用python来向指定的邮箱里面发送提示的信息??
解决:在上上搜到了一个问答的网页里面详细的介绍了email的方法:http://zhidao.baidu.com/question/415052362.html:
#-*- coding:utf8 -*- import smtplib import email import mimetypes from email.MIMEMultipart import MIMEMultipart from email.mime.text import MIMEText mail_host="smtp.163.com" mail_user="yourusername" mail_pass="yourpassword" mail_postfix="mail.163.com" def sendmail(to_list,sub,con): """发送邮件 """ # translation me = mail_user+"<"+mail_user+"@"+mail_postfix+">" msg = MIMEMultipart('related') msg['Subject'] = email.Header.Header(sub,'utf-8') msg['From'] = me msg['To'] = ";".join(to_list) msg.preamble = 'This is a multi-part message in MIME format.' msgAlternative = MIMEMultipart('alternative') msgText = MIMEText(con, 'plain', 'utf-8') msgAlternative.attach(msgText) msg.attach(msgAlternative) try: s = smtplib.SMTP() s.connect(mail_host) s.login(mail_user,mail_pass) s.sendmail(me, to_list, msg.as_string()) s.quit() except Exception,e: return False return True if __name__ == '__main__': if sendmail(['test@test.com'],"测试","测试"): print "Success!" else: print "Fail!"除了这个方法还有传送大有附件的方法: http://blog.youkuaiyun.com/hdutigerkin/article/details/6623234(此处是引用这篇博客内的程序片段)
- import smtplib, mimetypes
- from email.mime.text import MIMEText
- from email.mime.multipart import MIMEMultipart
- from email.mime.image import MIMEImage
- msg = MIMEMultipart()
- msg['From'] = "from@yeah.net"
- msg['To'] = 'to@21cn.com'
- msg['Subject'] = 'email for tesing'
- #添加邮件内容
- txt = MIMEText("这是邮件内容~~")
- msg.attach(txt)
- #添加二进制附件
- fileName = r'e:/PyQt4.rar'
- ctype, encoding = mimetypes.guess_type(fileName)
- if ctype is None or encoding is not None:
- ctype = 'application/octet-stream'
- maintype, subtype = ctype.split('/', 1)
- att1 = MIMEImage((lambda f: (f.read(), f.close()))(open(fileName, 'rb'))[0], _subtype = subtype)
- att1.add_header('Content-Disposition', 'attachment', filename = fileName)
- msg.attach(att1)
- #发送邮件
- smtp = smtplib.SMTP()
- smtp.connect('smtp.yeah.net:25')
- smtp.login('from', '密码')
- smtp.sendmail('from@yeah.net', 'to@21cn.com', msg.as_string())
- smtp.quit()
- print '邮件发送成功'
- 3。至于爬取网页上的相关内容来判断是否有货物?
- 只要使用urllib的相关方法操作,通过“有现货”还是“无法提供”就可以区分是否有货物购买了。