在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 自动定时抓取RSS,将其编译为电子书,并发送到Kindle的网页应用程序KindleEar源码

自动定时抓取RSS,将其编译为电子书,并发送到Kindle的网页应用程序KindleEar源码

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:10.59M
  • 下载次数:1
  • 浏览次数:49
  • 发布时间:2024-05-30
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签:

实例介绍

【实例简介】

2024年5月1日 KindleEar 3正式发布

重要更新:

  • 完全支持Python 3
  • 重新设计的软件架构
  • 跨平台支持,摆脱对GAE平台的依赖
  • 支持Calibre的菜谱格式,无需修改即可使用
  • 内置超过千个Calibre菜谱文件的库
  • 集成双语翻译功能,打破语言障碍,轻松获取信息和学习语言
  • 内置文本转语音功能,将每日新闻转换为音频,方便消化而无需阅读
  • 包括浏览器扩展,无需编码即可轻松创建网络抓取菜谱,实现从任何网站无缝交付内容

简介

KindleEar是一个网页应用程序,可部署在各种Python托管平台或VPS上。

它可以自动聚合各种网络内容并将其每日传送到您的Kindle或其他电子书阅读器。


【实例截图】
【核心代码】
文件清单
└── KindleEar-980eb2611d9857561509fd08a7e7f8153ee32ff8
    ├── application
    │   ├── back_end
    │   │   ├── db_models_nosql.py
    │   │   ├── db_models.py
    │   │   ├── db_models_sql.py
    │   │   ├── __init__.py
    │   │   ├── send_mail_adpt.py
    │   │   ├── task_queue_adpt.py
    │   │   ├── task_queue_apscheduler.py
    │   │   ├── task_queue_celery.py
    │   │   ├── task_queue_gae.py
    │   │   └── task_queue_rq.py
    │   ├── base_handler.py
    │   ├── images
    │   │   ├── cover0.jpg
    │   │   ├── cover1.jpg
    │   │   ├── cover2.jpg
    │   │   ├── cover3.jpg
    │   │   ├── cover4.jpg
    │   │   ├── cover5.jpg
    │   │   ├── cover6.jpg
    │   │   └── mastheadImage.gif
    │   ├── __init__.py
    │   ├── lib
    │   │   ├── build_ebook.py
    │   │   ├── calibre
    │   │   │   ├── constants.py
    │   │   │   ├── customize
    │   │   │   │   ├── builtins.py
    │   │   │   │   ├── conversion.py
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── profiles.py
    │   │   │   │   └── ui.py
    │   │   │   ├── ebooks
    │   │   │   │   ├── BeautifulSoup.py
    │   │   │   │   ├── chardet.py
    │   │   │   │   ├── compression
    │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   └── palmdoc.py
    │   │   │   │   ├── constants.py
    │   │   │   │   ├── conversion
    │   │   │   │   │   ├── config.py
    │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   ├── plugins
    │   │   │   │   │   │   ├── epub_input.py
    │   │   │   │   │   │   ├── epub_output.py
    │   │   │   │   │   │   ├── html_input.py
    │   │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   │   ├── mobi_output.py
    │   │   │   │   │   │   ├── oeb_output.py
    │   │   │   │   │   │   └── recipe_input.py
    │   │   │   │   │   ├── plumber.py
    │   │   │   │   │   ├── preprocess.py
    │   │   │   │   │   └── utils.py
    │   │   │   │   ├── css_transform_rules.py
    │   │   │   │   ├── epub
    │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   ├── pages.py
    │   │   │   │   │   └── periodical.py
    │   │   │   │   ├── html_entities.py
    │   │   │   │   ├── html_transform_rules.py
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── metadata
    │   │   │   │   │   ├── book
    │   │   │   │   │   │   ├── base.py
    │   │   │   │   │   │   ├── formatter.py
    │   │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   │   ├── json_codec.py
    │   │   │   │   │   │   └── serialize.py
    │   │   │   │   │   ├── epub.py
    │   │   │   │   │   ├── html.py
    │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   ├── kfx.py
    │   │   │   │   │   ├── meta.py
    │   │   │   │   │   ├── mobi.py
    │   │   │   │   │   ├── opf2.py
    │   │   │   │   │   ├── opf_2_to_3.py
    │   │   │   │   │   ├── opf3.py
    │   │   │   │   │   ├── opf.py
    │   │   │   │   │   ├── sources
    │   │   │   │   │   │   ├── base.py
    │   │   │   │   │   │   ├── identify.py
    │   │   │   │   │   │   └── prefs.py
    │   │   │   │   │   ├── toc.py
    │   │   │   │   │   ├── utils.py
    │   │   │   │   │   └── xisbn.py
    │   │   │   │   ├── mobi
    │   │   │   │   │   ├── huffcdic.py
    │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   ├── langcodes.py
    │   │   │   │   │   ├── mobiml.py
    │   │   │   │   │   ├── reader
    │   │   │   │   │   │   ├── containers.py
    │   │   │   │   │   │   ├── headers.py
    │   │   │   │   │   │   ├── index.py
    │   │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   │   ├── markup.py
    │   │   │   │   │   │   ├── mobi6.py
    │   │   │   │   │   │   ├── mobi8.py
    │   │   │   │   │   │   └── ncx.py
    │   │   │   │   │   ├── tweak.py
    │   │   │   │   │   ├── utils.py
    │   │   │   │   │   ├── writer2
    │   │   │   │   │   │   ├── indexer.py
    │   │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   │   ├── main.py
    │   │   │   │   │   │   ├── resources.py
    │   │   │   │   │   │   └── serializer.py
    │   │   │   │   │   └── writer8
    │   │   │   │   │       ├── cleanup.py
    │   │   │   │   │       ├── exth.py
    │   │   │   │   │       ├── header.py
    │   │   │   │   │       ├── index.py
    │   │   │   │   │       ├── __init__.py
    │   │   │   │   │       ├── main.py
    │   │   │   │   │       ├── mobi.py
    │   │   │   │   │       ├── skeleton.py
    │   │   │   │   │       ├── tbs.py
    │   │   │   │   │       └── toc.py
    │   │   │   │   ├── oeb
    │   │   │   │   │   ├── base.py
    │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   ├── normalize_css.py
    │   │   │   │   │   ├── parse_utils - 7.3.0.py
    │   │   │   │   │   ├── parse_utils.py
    │   │   │   │   │   ├── polish
    │   │   │   │   │   │   ├── container.py
    │   │   │   │   │   │   ├── cover.py
    │   │   │   │   │   │   ├── css.py
    │   │   │   │   │   │   ├── errors.py
    │   │   │   │   │   │   ├── images.py
    │   │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   │   ├── main.py
    │   │   │   │   │   │   ├── opf.py
    │   │   │   │   │   │   ├── parsing_html5_parser.py
    │   │   │   │   │   │   ├── parsing.py
    │   │   │   │   │   │   ├── pretty.py
    │   │   │   │   │   │   ├── replace.py
    │   │   │   │   │   │   ├── split.py
    │   │   │   │   │   │   ├── toc.py
    │   │   │   │   │   │   └── utils.py
    │   │   │   │   │   ├── reader.py
    │   │   │   │   │   ├── stylizer.py
    │   │   │   │   │   ├── transforms
    │   │   │   │   │   │   ├── cover.py
    │   │   │   │   │   │   ├── data_url.py
    │   │   │   │   │   │   ├── filenames.py
    │   │   │   │   │   │   ├── flatcss.py
    │   │   │   │   │   │   ├── guide.py
    │   │   │   │   │   │   ├── htmltoc.py
    │   │   │   │   │   │   ├── __init__.py
    │   │   │   │   │   │   ├── jacket.py
    │   │   │   │   │   │   ├── linearize_tables.py
    │   │   │   │   │   │   ├── manglecase.py
    │   │   │   │   │   │   ├── metadata.py
    │   │   │   │   │   │   ├── page_margin.py
    │   │   │   │   │   │   ├── rescale.py
    │   │   │   │   │   │   ├── split.py
    │   │   │   │   │   │   ├── structure.py
    │   │   │   │   │   │   └── trimmanifest.py
    │   │   │   │   │   └── writer.py
    │   │   │   │   └── unihandecode
    │   │   │   │       ├── __init__.py
    │   │   │   │       ├── jacodepoints.py
    │   │   │   │       ├── jadecoder.py
    │   │   │   │       ├── krcodepoints.py
    │   │   │   │       ├── krdecoder.py
    │   │   │   │       ├── pykakasi
    │   │   │   │       │   ├── h2a.py
    │   │   │   │       │   ├── __init__.py
    │   │   │   │       │   ├── itaijidict.utf8
    │   │   │   │       │   ├── j2h.py
    │   │   │   │       │   ├── jisyo.py
    │   │   │   │       │   ├── k2a.py
    │   │   │   │       │   ├── kakasidict.utf8
    │   │   │   │       │   ├── kakasi.py
    │   │   │   │       │   └── kanadict.utf8
    │   │   │   │       ├── unicodepoints.py
    │   │   │   │       ├── unidecoder.py
    │   │   │   │       ├── vncodepoints.py
    │   │   │   │       ├── vndecoder.py
    │   │   │   │       └── zhcodepoints.py
    │   │   │   ├── __init__.py
    │   │   │   ├── library
    │   │   │   │   ├── comments.py
    │   │   │   │   ├── field_metadata.py
    │   │   │   │   └── __init__.py
    │   │   │   ├── prints.py
    │   │   │   ├── ptempfile.py
    │   │   │   ├── spell
    │   │   │   │   └── __init__.py
    │   │   │   ├── utils
    │   │   │   │   ├── cleantext.py
    │   │   │   │   ├── config_base.py
    │   │   │   │   ├── config.py
    │   │   │   │   ├── date.py
    │   │   │   │   ├── exim.py
    │   │   │   │   ├── filenames.py
    │   │   │   │   ├── formatter_functions.py
    │   │   │   │   ├── formatter.py
    │   │   │   │   ├── html2text.py
    │   │   │   │   ├── icu.py
    │   │   │   │   ├── imghdr.py
    │   │   │   │   ├── img.py
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── iso8601.py
    │   │   │   │   ├── localization.py
    │   │   │   │   ├── random_ua.py
    │   │   │   │   ├── resources.py
    │   │   │   │   ├── serialize.py
    │   │   │   │   ├── short_uuid.py
    │   │   │   │   ├── smartypants.py
    │   │   │   │   ├── speedups.py
    │   │   │   │   ├── terminal.py
    │   │   │   │   ├── threadpool.py
    │   │   │   │   ├── wordcount.py
    │   │   │   │   ├── xml_parse.py
    │   │   │   │   └── zipfile.py
    │   │   │   └── web
    │   │   │       ├── feeds
    │   │   │       │   ├── __init__.py
    │   │   │       │   ├── news.py
    │   │   │       │   ├── recipes
    │   │   │       │   │   ├── collection.py
    │   │   │       │   │   └── __init__.py
    │   │   │       │   └── templates.py
    │   │   │       ├── fetch
    │   │   │       │   ├── __init__.py
    │   │   │       │   ├── simple.py
    │   │   │       │   └── utils.py
    │   │   │       ├── __init__.py
    │   │   │       └── site_parsers
    │   │   │           ├── __init__.py
    │   │   │           └── nytimes.py
    │   │   ├── clogging.py
    │   │   ├── css_selectors
    │   │   │   ├── errors.py
    │   │   │   ├── __init__.py
    │   │   │   ├── ordered_set.py
    │   │   │   ├── parser.py
    │   │   │   ├── select.py
    │   │   │   └── tests.py
    │   │   ├── ebook_translator
    │   │   │   ├── engines
    │   │   │   │   ├── baidu.py
    │   │   │   │   ├── base.py
    │   │   │   │   ├── chatgpt.py
    │   │   │   │   ├── custom.py
    │   │   │   │   ├── deepl.py
    │   │   │   │   ├── google.py
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── languages.py
    │   │   │   │   ├── microsoft.py
    │   │   │   │   └── youdao.py
    │   │   │   ├── html_translator.py
    │   │   │   └── __init__.py
    │   │   ├── ebook_tts
    │   │   │   ├── engines
    │   │   │   │   ├── azure.py
    │   │   │   │   ├── chatgpt.py
    │   │   │   │   ├── google.py
    │   │   │   │   ├── __init__.py
    │   │   │   │   └── tts_base.py
    │   │   │   ├── html_audiolator.py
    │   │   │   └── __init__.py
    │   │   ├── filedownload.py
    │   │   ├── filesystem_dict.py
    │   │   ├── html5_parser.py
    │   │   ├── html_form.py
    │   │   ├── html_json_extract.py
    │   │   ├── image_tools.py
    │   │   ├── __init__.py
    │   │   ├── justext_extract
    │   │   │   ├── debug
    │   │   │   │   ├── css
    │   │   │   │   │   └── style.css
    │   │   │   │   └── js
    │   │   │   │       ├── jquery.qtip.min.css
    │   │   │   │       ├── jquery.qtip.min.js
    │   │   │   │       └── tooltip.js
    │   │   │   ├── __init__.py
    │   │   │   ├── justext_extract.py
    │   │   │   └── stoplists
    │   │   │       ├── chinese_simplified.txt
    │   │   │       ├── chinese_traditional.txt
    │   │   │       ├── japanese.txt
    │   │   │       └── korean.txt
    │   │   ├── languages_countries.py
    │   │   ├── mechanize.py
    │   │   ├── opml.py
    │   │   ├── pocket.py
    │   │   ├── polyglot
    │   │   │   ├── binary.py
    │   │   │   ├── builtins.py
    │   │   │   ├── functools.py
    │   │   │   ├── html_entities.py
    │   │   │   ├── http_client.py
    │   │   │   ├── http_cookie.py
    │   │   │   ├── http_server.py
    │   │   │   ├── __init__.py
    │   │   │   ├── io.py
    │   │   │   ├── plistlib.py
    │   │   │   ├── queue.py
    │   │   │   ├── reprlib.py
    │   │   │   ├── smtplib.py
    │   │   │   ├── socketserver.py
    │   │   │   └── urllib.py
    │   │   ├── pymp3cat.py
    │   │   ├── readability
    │   │   │   ├── browser.py
    │   │   │   ├── cleaners.py
    │   │   │   ├── compat
    │   │   │   │   ├── __init__.py
    │   │   │   │   ├── three.py
    │   │   │   │   └── two.py
    │   │   │   ├── debug.py
    │   │   │   ├── encoding.py
    │   │   │   ├── htmls.py
    │   │   │   ├── __init__.py
    │   │   │   └── readability.py
    │   │   ├── recipe_helper.py
    │   │   ├── requests_file.py
    │   │   ├── simpleextract.py
    │   │   ├── smtp_mail.py
    │   │   ├── tinycss
    │   │   │   ├── color3.py
    │   │   │   ├── css21.py
    │   │   │   ├── decoding.py
    │   │   │   ├── fonts3.py
    │   │   │   ├── __init__.py
    │   │   │   ├── media3.py
    │   │   │   ├── page3.py
    │   │   │   ├── parsing.py
    │   │   │   ├── token_data.py
    │   │   │   ├── tokenizer.py
    │   │   │   └── version.py
    │   │   ├── urlopener.py
    │   │   └── wallabag.py
    │   ├── recipes
    │   │   ├── builtin_recipes.xml
    │   │   └── builtin_recipes.zip
    │   ├── routes.py
    │   ├── static
    │   │   ├── add-upload.png
    │   │   ├── apple-touch-icon57.png
    │   │   ├── apple-touch-icon.png
    │   │   ├── banner-bg.png
    │   │   ├── base.css
    │   │   ├── base.js
    │   │   ├── book128.png
    │   │   ├── cn.gif
    │   │   ├── favicon.ico
    │   │   ├── grids-responsive-min.css
    │   │   ├── iconfont.ttf
    │   │   ├── iconfont.woff
    │   │   ├── jquery-3.7.1.min.js
    │   │   ├── library.js
    │   │   ├── prism.css
    │   │   ├── prism.js
    │   │   ├── pure.css
    │   │   ├── pure-min.css
    │   │   ├── robots.txt
    │   │   ├── tr.gif
    │   │   ├── us.gif
    │   │   ├── webmail.css
    │   │   └── webmail.js
    │   ├── templates
    │   │   ├── admin.html
    │   │   ├── adv_archive.html
    │   │   ├── adv_base.html
    │   │   ├── adv_calibre_options.html
    │   │   ├── adv_delivernow.html
    │   │   ├── adv_import.html
    │   │   ├── adv_inboundmail.html
    │   │   ├── adv_uploadcover.html
    │   │   ├── adv_uploadcss.html
    │   │   ├── autoback.html
    │   │   ├── base.html
    │   │   ├── book_audiolator.html
    │   │   ├── book_translator.html
    │   │   ├── change_password.html
    │   │   ├── home.html
    │   │   ├── library.html
    │   │   ├── login.html
    │   │   ├── logs.html
    │   │   ├── my.html
    │   │   ├── reset_password.html
    │   │   ├── setting.html
    │   │   ├── signup.html
    │   │   ├── tipsback.html
    │   │   ├── user_account.html
    │   │   └── webmail.html
    │   ├── translations
    │   │   ├── messages.pot
    │   │   ├── tr_TR
    │   │   │   └── LC_MESSAGES
    │   │   │       ├── messages.mo
    │   │   │       └── messages.po
    │   │   └── zh
    │   │       └── LC_MESSAGES
    │   │           ├── messages.mo
    │   │           └── messages.po
    │   ├── utils.py
    │   ├── view
    │   │   ├── admin.py
    │   │   ├── adv.py
    │   │   ├── deliver.py
    │   │   ├── extension.py
    │   │   ├── inbound_email.py
    │   │   ├── __init__.py
    │   │   ├── library_offical.py
    │   │   ├── library.py
    │   │   ├── login.py
    │   │   ├── logs.py
    │   │   ├── setting.py
    │   │   ├── share.py
    │   │   ├── subscribe.py
    │   │   └── translator.py
    │   └── work
    │       ├── __init__.py
    │       ├── url2book.py
    │       └── worker.py
    ├── app.yaml
    ├── config.py
    ├── cron.yaml
    ├── dispatch.yaml
    ├── docker
    │   ├── Caddyfile
    │   ├── compose_up.sh
    │   ├── default.conf
    │   ├── docker-compose-nginx.yml
    │   ├── docker-compose.yml
    │   ├── Dockerfile
    │   ├── gunicorn.conf.py
    │   ├── ke-docker.sh
    │   ├── postfix
    │   │   ├── Dockerfile
    │   │   ├── install.sh
    │   │   └── readme.md
    │   ├── run_docker.sh
    │   └── ubuntu_docker.sh
    ├── docs
    │   ├── Chinese
    │   │   ├── changelog.md
    │   │   ├── config.md
    │   │   ├── deployment.md
    │   │   ├── extension.md
    │   │   ├── faq.md
    │   │   ├── intro.md
    │   │   └── README.md
    │   ├── _config.yml
    │   ├── English
    │   │   ├── changelog_en.md
    │   │   ├── config.md
    │   │   ├── deployment.md
    │   │   ├── extension.md
    │   │   ├── faq.md
    │   │   ├── intro.md
    │   │   └── README.md
    │   ├── Gemfile
    │   ├── images
    │   │   ├── cnn1.png
    │   │   ├── cnn2.png
    │   │   ├── cnn3.png
    │   │   ├── cnn4.png
    │   │   ├── cnn5.png
    │   │   ├── cnn6.png
    │   │   ├── extension_menu.png
    │   │   └── scrshot.gif
    │   ├── Makefile
    │   └── README.md
    ├── LICENSE
    ├── main.py
    ├── pyproject.toml
    ├── queue.yaml
    ├── readme.md
    ├── readme_zh.md
    ├── requirements.txt
    ├── tests
    │   ├── __init__.py
    │   ├── readme.developer.md
    │   ├── runtests.py
    │   ├── test_admin.py
    │   ├── test_adv.py
    │   ├── test_base.py
    │   ├── test_inbound_email.py
    │   ├── test_library_official.py
    │   ├── test_login.py
    │   ├── test_logs.py
    │   ├── test_setting.py
    │   ├── test_share.py
    │   └── test_subscribe.py
    ├── tools
    │   ├── archive_builtin_recipes.py
    │   ├── babel.cfg
    │   ├── bookmarklet_src
    │   │   └── send_to_kindle.js
    │   ├── gae_deploy.sh
    │   ├── mp3cat
    │   │   ├── arm64_mp3cat
    │   │   ├── mp3cat
    │   │   ├── mp3cat.exe
    │   │   └── readme.md
    │   ├── nginx
    │   │   ├── gunicorn.conf.py
    │   │   ├── gunicorn_logrotate
    │   │   ├── gunicorn.service
    │   │   └── nginx_default
    │   ├── pybabel_commands.txt
    │   ├── pybabel_compile.bat
    │   ├── pybabel_extract.bat
    │   ├── run_flask.bat
    │   ├── start_celery.bat
    │   ├── trim_recipes.py
    │   └── update_req.py
    ├── typings
    │   └── __builtins__.pyi
    └── worker.yaml

68 directories, 451 files

标签:

实例下载地址

自动定时抓取RSS,将其编译为电子书,并发送到Kindle的网页应用程序KindleEar源码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警