利用Python制作文本小说

关于技术的一点探讨

      本人也爱看一些稀奇古怪的小说吧,尤其是偏爱科幻小说,可是正版的条规不愿意花钱,只好在网络上找资源了,这里不得不感叹一下还是国内环境好啊,这些资源都可以找得到,只要肯下力气。本文作为一名Python的铁粉,对于用Python进行网络资源的爬去还是非常熟练的,因此便想到了用Python来爬取网站上的小说,然后制作完成后传到多看上阅读。      
      理想是美好的,现实是残酷的,我历时两天,写出了很多代码,结果仍不能算的是完美,接下来就说一下关于这段经历的具体纠葛。![](http://img3.imgtn.bdimg.com/it/u=640330160,2514427525&fm=23&gp=0.jpg)    
      多看阅读的度数体验确实很好,不过只支持`epub`和`TXT`格式,很让人发愁,`TXT`的电子书读起来一般般,效果不好,``epub``的阅读体验很好,于是便想着自己做一个``epub``电子书,在网上也是看了很多贴子,链接如下:    

http://www.pylist.com/topic/1439197138
http://blog.itpub.net/29733787/viewspace-1477082/
http://www.manuel-strehl.de/dev/simple_epub_ebooks_with_python.en.html

      结果是自己知道了```epub```格式是怎么做出来的,是怎么生成的,看完之后,自己就动手试了,按照人家的源代码,仔细研究,生成了```epub```格式电子书,结果多看不支持,文件有问题,只能说自己还是太菜,我决定还是先放弃,想要生成`epub`格式电子书要寻求第三方库的支持是个不错的选择。结果果然有很多以后的成果,想``mkepub``和`pypub`都是很成熟的作品。安装方法在`github`和各自的主页上都有着写,也是比较简单的。`pip install pypub`和`pip install mkepub`都是可以直接安装的,支持库也比较少。其实生成``epub``文件还是比较容易的,我也能生成,不知道那个支持文件有点问题,我不想再在这个上面耗太多时间,所以就放弃了,如果再来半天时间就差不多了。    

      用第三方库的感觉只能说恶心,不知道是我的问题还是库的问题,总之恶心,FUCK!,首先是`mkepub`库,看完库的简介和API后,用起来那是一个顺手,结果在最关键的地方,也就是add_page上出现了错误,最开始提示gbk无法解码,或者就是无法编码……,![](http://upload-images.jianshu.io/upload_images/960630-34c4e4e7a6ea33a8?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)我一直以为是自己的电脑的编码的问题,但是差了很多的资料和相关博主,结果按照自己的理解和博客的方法都是没办法生成可以用的`epub`文件,当最终不报错了,我以为我成功了,把文件传到iBook和多看上打开,无法使用,把`epub`格式解压后,找到我写入的文件生成的html文件,一直提示页面渲染错误。我开始寻找bug,但是不是专业人才,也不知道html到底哪里的问题,尝试了很多办法,发现当写入的文件时英文时是可以用的,在生成的html文件中我检查页面,发现了lang=en的说明,我就知道我肯定没办法做出来了,这个库支持英文的不支持中文的。无法渲染中文,但是charset=‘utf-8’,我也实在不知道哪里错了。

      至此,我决定换个库,pypub出现在我面前,按照API看完了,然后使用一直提示importerror,FUCK!,![](http://upload-images.jianshu.io/upload_images/960630-7fdfc21d7d0a1b0f.jpeg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)然后在github项目主页上,找到了,这个库只支持Python2.。。。。。。。    

我还能说什么呢。我想TXT其实也不是那么难用的吧,然后就是TXT文件的生成了,这个不需要很多步骤,只需要将所有章节的文章从html中解析出来,然后合并到一起就可以了。结果出乎我的所料,由于我之前并没有对章节做重视,结果就是我不知道章节的顺序……,然后只好在最开始的时候加上索引,然后把文件合并生成了TXT文件,到这里其实已经成功了。但是做事情就应该精益求精嘛。我发现再多看里没有办法生成章节目录,好吧,按照其他的小说的模式,发现章节想要生成出来,章节必须独立一行,然后又加上这个步骤,终于是生成了,至此目的达成。

      补充一点,为了防止网站上发小黄书,对于什么“se”、“ri”、“cao”、“sao”、“yin”等都只能用拼音显示,阅读体验太差。另外,从网页上爬下来的,会有很多冗余信息,错误的标点符号都需要处理。我是根据以为大神说的在fmddlmyy贴吧扎到了cnbook软件,进行的处理,不过用Python也可以,自己想偷偷懒,重要的是想赶紧阅读小说了,对文字的处理不知道又要好久……,用前人成果还是快了许多的。    

      总结起来,一是自己的技术有限,没能生成`epub`格式的文件,二是第三方库对于中文的支持还是不太靠谱,还是需要国内做的更好吧,三就是通过这次项目的经历,自己的技术也更加纯熟了,加油!!!    

      人生苦短,我用Python!    

附件:
小说网站:http://www.23us.com/
编码博客:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/
http://www.cnblogs.com/fnng/p/5008884.html
`

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,783评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,396评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,834评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,036评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,035评论 5 362
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,242评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,727评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,376评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,508评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,415评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,463评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,140评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,734评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,809评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,028评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,521评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,119评论 2 341

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,434评论 6 428
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 18,606评论 4 418
  • 环境管理管理Python版本和环境的工具。p–非常简单的交互式python版本管理工具。pyenv–简单的Pyth...
    MrHamster阅读 3,781评论 1 61
  • 穷人和富人的人脉结构,弱关系竟如此重要 中国人很喜欢讲关系,但我们却并没有真的了解关系,国外的学者,将关系分为两种...
    创一学习吧阅读 371评论 0 0
  • 我的笔记本电脑莫名其妙的就有了三块硬盘在上面,一个固态、一个本机自带的、还有一个就是在光驱的位置加的。因为在光驱位...
    Demons_96阅读 1,782评论 0 3