文档章节

Calibre 制作电子书

莫忆往西
 莫忆往西
发布于 2016/01/31 01:23
字数 443
阅读 429
收藏 14

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

####Calibre 制作电子书

Calibre支持使用Python语言编写脚本,抓取网页内容生成电子书,默认为mobi格式

  1. 在抓取新闻的下拉菜单中选择添加自定义新闻源
  2. New Recipe---切换到高级模式,默认提供了代码模板,只需要添加自定义的网页来源
  3. 编写Recipe文件代码
  4. 抓取新闻,选择自定义来源,下载即可
#!/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):
	'''自定义的Recipe都继承自Calibre提供的基类BasicNewsRecipe,必须实现parse_index()方法
	'''
	#电子书名称
    title          = '廖雪峰Python教程3'
    description = 'python教程'
    max_articles_per_feed = 200
    # 设置每隔1s下载一个章节,默认值为0,当网络不好时,可以把这个值调大点
    delay = 1   
    url_prefix = 'http://www.liaoxuefeng.com'
    no_stylesheets = True
    #抓取每一个页面中保留的tag
    keep_only_tags = [{ 'class': 'x-content' }]
    #页面中删除的Tag
    remove_tags=[{'class':'x-wiki-info'}]
    #指定Tag之后的元素都被删除
    remove_tags_after=[{'class':'x-wiki-content'}]
    
    def get_title(self, link):
        return link.contents[0].strip()
    
    def parse_index(self):
    	#index_to_soup()由BasicNewsRecipe实现,使用Beautifulsoup抓取一个网址,并获得这个网页内容的soup对象
        soup = self.index_to_soup('http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000')
 		# 左侧导航栏
        div = soup.find('div', { 'class': 'x-sidebar-left-content' })
 		# 找到每一个章节的标题和对应的URL,Calibre会下载每一个URL的html,使用上面的类属性进行解析
        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)
 		#返回一个列表,这个列表中是多个元组,每个元组是书的一卷('廖雪峰python教程', articles),每一卷中又有多个章节articles
        tutorial = [('廖雪峰python教程', articles)]
 
        return tutorial

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

© 著作权归作者所有

下一篇: Jenkins Smiple use
莫忆往西
粉丝 2
博文 14
码字总数 17277
作品 0
西安
私信 提问
电子书心得交流

随着各种终端设备的普及,电子书技术的方面,电子书的发展势不可挡。关于电子书与纸质书孰优孰劣的问题,仁者见仁就留给读者自己去琢磨吧。但不可以否认的是电子书的发展速度早已超越了纸质书...

kklin
2015/04/10
7
4
用Calibre导入Kindle电子书并去除DRM保护

本文的目的绝非为了盗版之用,而是很多美国亚马逊买的Kindle设备(如Kindle 4、Kindle 5)无法在中国亚马逊里注册,不能通过正常的推送渠道购买正版电子书,因此这是一个万不得已的做法,在中...

Mable2461
2015/01/24
11.9K
1
Calibre 4.0.0 发布,电子书管理软件

Calibre 是电子书管理软件,支持 Amazon、Apple、Bookeen、Ectaco、Endless Ideas、Google/HTC、Hanlin Song 设备及格式,功能十分强大。新版本 4.0.0 内容有: 新特性 一个完全重写的电子书...

afterer
10/05
1K
3
Calibre 3.0 正式版发布,开源电子书管理软件

在时隔约三年之后,开源电子书管理软件 Calibre 释出了 3.0 版。新版主要特性包括:完全重写了内容服务器,支持直接在移动设备的浏览器上阅读电子书,支持离线模式;支持高分辨率显示屏,支持...

红薯
2017/06/16
1K
1
电子书管理软件 Calibre 3.22 发布,支持 FBZ 格式

Calibre 是一款功能强大的电子书管理软件,支持 Amazon、Apple、Bookeen、Ectaco、Endless Ideas、Google/HTC、Hanlin Song 设备及格式。 Calibre 3.22 已发布,带来了以下新特性: 新增将电...

王练
2018/04/21
656
0

没有更多内容

加载失败,请刷新页面

加载更多

006-ELK的二进制安装

二进制安装ELKstack 本次搭建属于单点,在同一台机器上进行安装 基础组件部署 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yu...

伟大源于勇敢的开始
今天
5
0
OSChina 周四乱弹 —— 浙江台的电话号码倒是记得挺牢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :《Out On The Streets》 一直不理解北欧人对重金属和死亡摇滚的热情,听完这首歌好像理解了。#今日歌曲推荐# 《Out On The Stre...

小小编辑
今天
14
0
Leetcode PHP题解--D121 21. Merge Two Sorted Lists

D121 21. Merge Two Sorted Lists 题目链接 21. Merge Two Sorted Lists 题目分析 合并两个有序链表。 思路 逐个遍历两个链表,把小的数字塞入数组里。之后再拼起来。 最终代码 <?php/** *...

skys215
今天
6
0
mars-config 动态配置管理

mars-config 码云地址:https://gitee.com/fashionbrot/mars-config 介绍 spring mvc 、springboot 动态配置系统。http 轮训方式 更新 动态配置 软件架构 软件架构说明 后端使用技术 :sprin...

fashionbrot
今天
16
0
女朋友玩吃鸡手游被开挂老哥骗炮,我见义勇为将骗子绳之以法

大家好,我是乔哥。 晚上10点以后下班后我回到自如出租房里面,开始处理公众号粉丝发来的消息,一条一条处理,突然看到了这么几条消息,吸引了我的眼球: 然后我就和这位女粉丝小红(化名)聊...

gzc426
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部