用calibre和python制作电子书---Python和Git教程

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

时间: 2024-12-22 15:52:30

用calibre和python制作电子书---Python和Git教程的相关文章

用calibre抓取RSS新闻制作电子书及推送到kindle

calibre可以从RSS源抓取内容,转换成它所支持格式的电子书,还可以推送到阅读器设备.下面来看看在calibre图形界面和命令行下如何实现这些功能. 在图形界面抓取新闻 自定义新闻来源 看看我们自定义了什么 命令行下生成电子杂志 命令行推送到Kindle 简单定时推送的实现 一些要注意的问题 其它方法 参考 calibre可以从RSS源抓取内容,转换成它所支持格式的电子书,还可以推送到阅读器设备.下面来看看在calibre图形界面和命令行下如何实现这些功能. 在图形界面抓取新闻 打开cali

Windows 环境下运用Python制作网络爬虫

import webbrowser as web import time import os i = 0 MAXNUM = 1 while i <= MAXNUM: web.open_new_tab('要刷的网络地址') os.system('taskkill /F /IM 浏览器文件名(chrome.exe)') i += 1 else: print 'happly day!' 代码和简单只要一个第三方的函数和调用系统的文件就OK了.记住给要刷的次数定值,不然电脑就不好受了! Windows

python制作查找单词翻译的脚本

本人由于英语渣,在linux底下经常看文档,但是有没有想有道词典这种软件,所以遇到不懂的单词只能手动复制粘贴在网上查找,这样就很不方便,学了python之后,就试着自己尝试下个在命令行下查找单词翻译的脚本. 在我眼里,实现上面这个要求的脚本语言分几块完成: 一是选好一个单词翻译的网站,优先选择GET方法的(代码写起来比较方便),如果是POST方法也不是没有办法,只是要自己新建一个POST请求,为此我就找到了一个用GET方法查找单词的神器网站——在线翻译_在线词典_金山词霸_爱词霸英语,用起来就很

使用python制作ArcGIS插件(1)工具介绍

使用python制作ArcGIS插件(1)工具介绍 by 李远祥 ArcGIS从10.0开始支持addin(ArcGIS软件中又叫作加载项)的方式进行插件制作.相对于以往9.x系列,addin的无论是从使用或者编写都更加方便快捷.通过开发语言,可以制作ArcGIS Desktop各个软件模块的插件. Addin支持多种开发语言,如.net.java和python.其中.net和java需要配合ArcGIS的SDK,使用ArcObjects进行开发.其好处是ArcObjects可以非常细粒度的控制

电子书 Python自动化运维:技术与最佳实践.pdf

本书在中国运维领域将有"划时代"的重要意义:一方面,这是国内一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的作者是中国运维领域的"偶像级"人物,本书是他在天涯社区和腾讯近10年工作经验的结晶.因为作者实战经验丰富,所以能高屋建瓴.直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息.服务监控.数据报表.系统安全等基础模块,而且深入讲解了自动化操作.系统管理.配置管理.集群管理及大数据应用等高级功能.重要的是,完整重现了4个

python制作安装包(setup.py)

1.制作setup.py from distutils.core import setup setup(name='Myblog', version='1.0', description='My Blog Distribution Utilities', author='lujianxing', author_email='[email protected]', url='http://blog.lujianxing.com', py_modules=['foo'] ) py_modules 定

python制作exe可执行文件的方法---使用pyinstaller

python生成windows下exe格式的可执行程序有三种可选方案: py2exe是大家所熟知的,今天要介绍pyinstaller, 这个工具全平台可用.我曾使用python制作一个工具程序供公司同事使用后,由于公司使用mac linux windows都有很多,就使用过它来将程序做成可执行文件,兼容性好,只是会使得程序在linux平台和mac平台启动较慢(windows还是比较快的),但基本够用. 安装完pyinstaller之后就可以开始了. 1.使用pyinstaller生成可执行文件的

利用Python制作王者荣耀出装小助手,引来了老板的注意!

导语 T_T并不玩这些游戏... 单纯来蹭个热点... 大概是因为蹭热点需要的技术含量比较低? 就这样吧~~~ 利用Python制作命令行版的王者荣耀出装小助手. Let's Go! 开发工具 Python版本:3.6.4 相关模块: requests模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 主要思路 爬的是<英雄联盟盒子>这个APP.用Fiddler抓包找到需要的Get请求地址即可... 不过显示的Get请求很长,在

python制作ArcGIS插件giserdqy.com

提供定制arcmap工具开发服务:如有意向请联系我 使用python制作ArcGIS插件(1)工具介绍 使用python制作ArcGIS插件(2)代码编写 使用python制作ArcGIS插件(3)ArcPy的使用说明 使用python制作ArcGIS插件(4)界面交互 使用python制作ArcGIS插件(5)其他技巧 使用python制作ArcGIS插件(6)案例分析 原文地址:https://www.cnblogs.com/dqygiser/p/10460406.html