设为首页 收藏本站
查看: 1627|回复: 0

[经验分享] 用calibre和python制作电子书---Python和Git教程

[复制链接]

尚未签到

发表于 2015-4-22 11:20:05 | 显示全部楼层 |阅读模式
  calibre - E-book management是一个很强大的电子书管理软件,可以打开和转换各种格式的电子书,可以抓取新闻到本地阅读,允许用户自定义新闻源,可以通过编写自己recipe让其将网页上的内容抓取下来并且生成电子书,利用这个功能我将廖雪峰老师的Python教程和Git教程做成了epub电子书,使用firefox的epubReader插件就可以在电脑上打开阅读了,手机在多看上阅读也可以,这体验对于假期回家没有网络但是又想学习的同学们来说还是不错的。
  recipe采用python编写,用学到的python去获取学习资源,加强实践,操作方式很简单,下载calibre - E-book management后就知道了,calibre也为recipe的编写提供了api文档
  下面是抓取python教程的recipe代码



#!/usr/bin/env python
# vim:fileencoding=utf-8
from __future__ import unicode_literals, division, absolute_import, print_function
from calibre.web.feeds.news import BasicNewsRecipe
class liaoxuefeng_python(BasicNewsRecipe):
title          = '廖雪峰Python教程'
description = 'python教程'
max_articles_per_feed = 200
url_prefix = 'http://www.liaoxuefeng.com'
no_stylesheets = True
keep_only_tags = [{ 'id': 'main' }]
remove_tags=[{'class':'x-wiki-info'}]
remove_tags_after=[{'class':'x-wiki-content x-content'}]
def get_title(self, link):
return link.contents[0].strip()
def parse_index(self):
soup = self.index_to_soup('http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000')
div = soup.find('div', { 'class': 'x-wiki-tree' })
articles = []
for link in div.findAll('a'):
til = self.get_title(link)
url = self.url_prefix + link['href']
a = { 'title': til, 'url': url }
articles.append(a)
tutorial = [('廖雪峰python教程', articles)]
return tutorial
  抓取Git教程只需要将parse_index方法中python教程的链接改为Git教程的链接就可以了,成品在这tutorial

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-59576-1-1.html 上篇帖子: [更新Github地址]python学习,自己写了个简单聊天工具mychat 下篇帖子: git shell 命令大全
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表