{{ v.name }}
{{ v.cls }}类
{{ v.price }} ¥{{ v.price }}
kindle想每天看新闻,看博客,
其实自己用python写个代码就能很简单实现了。
1.kindle推送原理
kindle不仅可以买书看书,还可以自己推送内容
原理很简单,往你个人的kindle邮箱发邮件,附件为你要推送的内容即可。
登录亚马逊官网,点击管理我的内容和设备,进入设置,找到
2.qq邮箱登录
这里需要用到python的email模块
网上有很多例子,我也上下我的例子
#!/usr/bin/envpython#coding=utf-8##copyright2017liuxinxing#fromemail.mime.textimportmimetextfromemail.mime.multipartimportmimemultipartimportsmtplibimportosimportsysreload(sys)sys.setdefaultencoding('utf-8')importzipfileimporttimefile_dir=os.path.dirname(os.path.realpath(__file__))classsendmail():def__init__(self):self.msg=mimemultipart()self.to_email='aaaaa@kindle.cn'self.from_email='bbbbbb@qq.com'self.email_subject='kindle推送邮件'self.smtpserver='smtp.qq.com'self.sslport=465#加邮件头defgen_msghead(self):self.msg['to']=self.to_emailself.msg['from']=self.from_emailself.msg['subject']=self.email_subject#添加附件,可多次添加defadd_attachment(self,dir):att1=mimetext(open(dir,'rb').read(),'base64','gb2312')att1["content-type"]='application/octet-stream'att1["content-disposition"]='attachment;filename=%s'%os.path.basename(dir)self.msg.attach(att1)#发送邮件defsend(self):try:server=smtplib.smtp_ssl(self.smtpserver,self.sslport)server.login('bbbbbbb','sssssss')#xxx为用户名,xxxxx为密码server.sendmail(self.msg['from'],self.msg['to'],self.msg.as_string())server.quit()print'发送成功'exceptexception,e:printstr(e)if__name__=="__main__":a=sendmail()a.gen_msghead()#a.add_attachment(file_dir+"/data/")a.send()
代码里toemail就是a,fromemail就是b
网上很多都是直接账号密码登录,但是实际很多邮箱为了安全,smtp登录都要用授权码,qq邮箱也不例外
可以自己到qq邮箱去设置,获得授权码后登录。
网上很多例子的登录都不是ssl的,qq邮箱是登录不了的,要通过ssl端口登录才不会有问题。
问题及解决:
经常会遇到
unicodeencodeerror:'ascii'codeccan'tencodecharactersinposition0-78:ordinalnotinrange(128)
报错,原因是编码问题,解决方法是
importsyssys.setdefaultencoding('utf-8')
但是直接这样用又会报错
attributeerror:'module'objecthasnoattribute'setdefaultencoding'
需要先reload
importsysreload(sys)sys.setdefaultencoding('utf-8')这里比较奇怪
3.kindle推送邮件
4.每天爬取博客内容