python实现kindle每天推送博客1----kindle推送原理,python实现qq邮箱登录及邮件发送
kindle想每天看新闻,看博客,
其实自己用python写个代码就能很简单实现了。
1.kindle推送原理
kindle不仅可以买书看书,还可以自己推送内容
原理很简单,往你个人的kindle邮箱发邮件,附件为你要推送的内容即可。
登录亚马逊官网,点击管理我的内容和设备,进入设置,找到
〖发送至Kindle〗电子邮箱,
已认可的发件人电子邮箱列表
至此已完成设置。
Microsoft Word (.doc, .docx)
RTF文件(.rtf)
HTML(.htm, .html)
TXT文件(.txt)
Zip, x-zip压缩文件
Mobi格式电子书
JPEG (.jpg), GIF (.gif), Bitmap (.bmp) 和 PNG (.png) 格式的图片。
Adobe PDF (.pdf)文档可维持原文件格式,发送至您的Kindle。
Adobe PDF (.pdf)文档可转换为Kindle格式发送,目前处于试用阶段。
2.qq邮箱登录
这里需要用到python的email模块
网上有很多例子,我也上下我的例子
#!/usr/bin/env python
#coding=utf-8
#
# Copyright 2017 liuxinxing
#from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import smtplib
import os
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import zipfile
import timefile_dir=os.path.dirname(os.path.realpath(__file__))class sendmail():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# 加邮件头def gen_msghead(self):self.msg['to'] = self.to_emailself.msg['from'] = self.from_emailself.msg['subject'] = self.email_subject# 添加附件,可多次添加def add_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)#发送邮件def send(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 '发送成功'except Exception, e:print str(e)if __name__=="__main__":a=sendmail()a.gen_msghead()# a.add_attachment(file_dir+"/data/")a.send()
代码里to email就是A,from email就是B
网上很多都是直接账号密码登录,但是实际很多邮箱为了安全,smtp登录都要用授权码,qq邮箱也不例外
可以自己到qq邮箱去设置,获得授权码后登录。
网上很多例子的登录都不是ssl的,qq邮箱是登录不了的,要通过ssl端口登录才不会有问题。
问题及解决:
经常会遇到
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-78: ordinal not in range(128)
报错,原因是编码问题,解决方法是
import sys sys.setdefaultencoding('utf-8')
但是直接这样用又会报错
AttributeError: 'module' object has no attribute 'setdefaultencoding'
需要先reload
import sys reload(sys) sys.setdefaultencoding('utf-8')
这里比较奇怪
3.kindle推送邮件
4.每天爬取博客内容
这两个章节在下一个文章讲
python实现kindle每天推送博客1----kindle推送原理,python实现qq邮箱登录及邮件发送相关推荐
- python模拟足球射门_[转载]博客园仿真足球竞赛平台Python版SDK
为了方便喜欢Python的同学能使用Python开发自己的球队,所以编写了此SDK.这个SDK 基本上是参照C#版SDK改过来的,除了一些复杂的几何算法没有实现外,其他功能都已实现.喜欢的朋友可以自己 ...
- hexo推送博客gitee 踩坑
本文重在排坑. hexo 推送博客 gitee 1. 安装node.js 什么是node.js 2. 安装npm 3. nodejs .npm环境变量配置 4. git工具的安装及配置 5. hexo ...
- python个人博客搭建说明书_技术分享|利用Python Django一步步搭建个人博客(二)...
原标题:技术分享|利用Python Django一步步搭建个人博客(二) Hello,欢迎来到我们的"利用Python Django一步步搭建个人博客"系列的第二部分.在第一部分中 ...
- python入门指南bl-Python Flask开源博客系统Bl
本博文在51CTO技术博客首发. 开源不易,Python良心之作,真心送给广大朋友,恳请给予支持,不胜感激! 大家可以从下面的地址中去体验Blog_mini的功能,我把副本部署在了腾讯云上供大家使用: ...
- 用python搭建个人博客过程_技术分享|利用Python Django一步步搭建个人博客(四)...
您好,欢迎来到本期"利用Python Django一步步搭建个人博客"系列的第四部分.在上一篇教程中,我们学习了如何编写URL并将其映射到页面.在我们继续之前,我们需要做的一件事是 ...
- Python 用Django创建自己的博客(2)
####开篇 Python 用Django创建自己的博客(上)中主要记录了项目的创建,项目的文件结构,后台超级用户的创建,数据库的增添数据等,这篇博客的主要是加载html静态文件和显示之间的加载逻辑等 ...
- python实现kindle每天推送博客2----python实现爬取博客内容
python爬虫教程很多, 本文以爬取博客为例 1. Beautiful Soup Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据 为节约篇幅,安装方法自行百度 解析 ...
- python 投票脚本_使用Python脚本拉取2014 CSDN博客之星投票情况
前言 最近在自学Python,正好2014 CSDN博客之星投票搞得如火如荼,拿来练练手. 环境:Win7 64位 Python 2.7: 用到了正则表达式.函数.写文件.urllib2: 没有用到线 ...
- python开发个人博客_手把手教你用 Python + Flask 搭建个人博客
Python 的语言特性使得自身编写 Web 框架极其容易,现在已经有上百种用 Python 编写的 Web 开发框架,其中用户量最大的两个就是 Django 和 Flask. Django 和 Fl ...
最新文章
- apache rewrite规则详解
- php网站怎么缓存,一个php网站缓存代码分享
- OpenCv学习笔记(二)--Mat矩阵(图像容器)的创建及CV_8UC1,CV_8UC2等参数详解
- 实现两(三)列等高布局的方法
- [PyTorch] 神经网络处理图像
- docker实践第二版pdf 网盘_【漫画】什么是 docker?docker 应用场景解析
- 用于构建高级媒体应用程序的工具
- 自学python-自学python编程的方法路线
- firefox浏览器和IE
- C#窗体控件-文本框控件TextBox
- k2p拆机ttl刷breed_最新k2p 22.10.3.42;22.10.3.38和k2 22.6.532.231拆机ttl刷breed图文教程
- java实现学生、老师信息管理系统
- IE5的兼容问题——记录给自己看的
- swustoj 143 汉诺塔
- 正式入职开发工程师工作近半年有感
- Base64使用案例
- STM32 解析 JSON 之 cJSON
- 黄芽菜和大白菜的区别 黄芽菜的做法
- 数据结构与算法一:时间频度和时间复杂度
- 晶体三极管及其基本放大电路