抓书的Shell脚本

sh/bash/dash/ksh/zsh等Shell脚本
vvdounai
帖子: 44
注册时间: 2007-11-11 15:00
来自: 北京
送出感谢: 0
接收感谢: 0
联系:

抓书的Shell脚本

#1

帖子 vvdounai » 2007-11-25 16:58

我做了一个抓书的 shell 工具集,纯属无心之作,因为我自己比较喜欢看一些门户网站读书频道上连载的历史书,却懒得一页一页的翻 Web,这样不但速度比较慢,而且还要看花里胡哨的网站广告。于是用 shell 脚本自己写了一个抓书的东东,share 出来,相信肯定有热爱读书又买不起书的书生同好们需要的 :)

ZhuaShuShell 是基于 shell 的书籍自动下载工具,它能够自动整理成长篇 txt 格式书籍,方便电脑手机上阅读。

目前,ZhuaShuShell 支持如下站点:

http://club.book.sina.com.cn/booksearch/booksearch.php
http://book.qq.com/
http://cn.news.yahoo.com/reading/
http://msn.hongxiu.com/
http://book.wuhan.net.cn/index.html
http://lianzai.culture.china.com/books/
http://www.renyu.net/
http://www.readnovel.com/
http://www.baidu.com/search/guoxue/dir/fenlei.html
http://culture.163.com/book/
http://www.shuku.net/
http://gui.hcdj.com/longgui/index.htm
http://bbs.ustc.edu.cn/cgi/bbs0an?board=Marvel
http://www.66book.net/
http://www.wannish.com/

ZhuaShuShell 的最新版本为 2.8,你可以从这里下载。http://sourceforge.net/projects/zhuashushell
上次由 vvdounai 在 2007-11-28 19:29,总共编辑 3 次。
头像
内存不足
论坛版主
帖子: 3277
注册时间: 2005-08-18 18:43
送出感谢: 0
接收感谢: 1 次
联系:

#2

帖子 内存不足 » 2007-11-25 17:14

貌似还有个阅读器 :D
໌→ iCookie Gtk Theme
໌→DropPlusBluetheme
กรัก กรัก`菠萝
vvdounai
帖子: 44
注册时间: 2007-11-11 15:00
来自: 北京
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 vvdounai » 2007-11-25 17:38

对,QReadBook,呵呵:)不过那个是QT4.0编写的。
头像
内存不足
论坛版主
帖子: 3277
注册时间: 2005-08-18 18:43
送出感谢: 0
接收感谢: 1 次
联系:

#4

帖子 内存不足 » 2007-11-25 19:17

写个gtk的吧 要不然用gedit看小说太怪了 :D
໌→ iCookie Gtk Theme
໌→DropPlusBluetheme
กรัก กรัก`菠萝
vvdounai
帖子: 44
注册时间: 2007-11-11 15:00
来自: 北京
送出感谢: 0
接收感谢: 0
联系:

#5

帖子 vvdounai » 2007-11-28 19:27

更新到2.8:

1.增加对之乎书坊的支持。
2.去除了猫扑的代码,其读书频道已经变为论坛了。

ZhuaShuShell 的最新版本为 2.8,你可以从这里下载。http://sourceforge.net/projects/zhuashushell
头像
bones7456
论坛版主
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
送出感谢: 0
接收感谢: 8 次
联系:

#6

帖子 bones7456 » 2007-11-29 10:00

赞~
不过 ZhuaShuShell 这名字好奇怪,哈哈..
关注我的blog: ε==3
vvdounai
帖子: 44
注册时间: 2007-11-11 15:00
来自: 北京
送出感谢: 0
接收感谢: 0
联系:

#7

帖子 vvdounai » 2007-11-29 11:27

bones7456 写了:赞~
不过 ZhuaShuShell 这名字好奇怪,哈哈..


哈哈,随便起的名字,谢谢支持!如果发现什么好的书籍站点,请别忘记告诉我啊:)不过如果有付费VIP支持的不太好弄,就算了吧。
头像
zhasm
帖子: 26
注册时间: 2007-03-22 16:22
送出感谢: 0
接收感谢: 0
联系:

#8

帖子 zhasm » 2007-11-30 11:04

对天涯社区的文章能摘录吗?谢谢
头像
lynovr
帖子: 17
注册时间: 2007-01-31 15:07
送出感谢: 0
接收感谢: 0

#9

帖子 lynovr » 2007-11-30 11:06

赞 学习学习
vvdounai
帖子: 44
注册时间: 2007-11-11 15:00
来自: 北京
送出感谢: 0
接收感谢: 0
联系:

#10

帖子 vvdounai » 2007-11-30 14:35

zhasm 写了:对天涯社区的文章能摘录吗?谢谢


天涯社区的帖子比较麻烦,不过你可以给我一个链接,我看看。

不好意思,不咋怎么上天涯的。

to lynovr: 谢谢支持。做的不好,纯粹的小玩意,见笑。
头像
arsui
帖子: 889
注册时间: 2007-05-06 2:01
来自: 特麓村->浦北->五山->罗湖
送出感谢: 0
接收感谢: 0
联系:

#11

帖子 arsui » 2007-11-30 14:58

鉴于你的杰出贡献,把你定位国民一级偶像 :D
Ubuntu 9.04 & Win Xp
------------------------------------------------------
Company: http://www.mazingtech.com
HomePage: http://www.arsui.com
头像
dngpng
帖子: 25
注册时间: 2005-03-25 23:46
送出感谢: 0
接收感谢: 0
联系:

#12

帖子 dngpng » 2007-12-01 2:47

受楼主的启发,把楼主脚本中下载新浪读书频道的那一个专门改进了一下,修改如下:

+ 转换编码至UTF-8
+ 转换DOS风格的换行符至Unix风格
+ 按原文章分段
+ 去除页面底部多余信息,如“[上一篇]”
+ 如果每个连载章节有标题,包含标题
+ 每个连载章节之间加入分隔符:---------------

代码: 全选

用法:./sina-book-fetcher.sh URL FIRST LAST OUTPUT

URL:    The URL for the book without any filename at the
        end. e.g. http://book.sina.com.cn/nzt/novel/lit/abcdefg/
FIRST:  The section number you want to start with. e.g. 1
LAST:   The section number you want to finish with. e.g. 123
OUTPUT: The filename for output, without the .txt extension.


示例:下载《明朝那些事》第一至第五部分

代码: 全选

./sina-book-fechter.sh http://book.sina.com.cn/nzt/his/mingchaonaxieshi1/ 1 5 ming 

(输出文章样本也放附件里了)


下载:http://dengpeng.name/upload/sina-book-fetcher.tar.gz 或 本贴附件
附件
sina-book-fetcher.tar.gz
新浪读书频道连载文章下载之改进版
(1.02 KiB) 下载 118 次
ming.tar.gz
下载《明朝那些事》第一至第五部分输出结果
(7.43 KiB) 下载 105 次
vvdounai
帖子: 44
注册时间: 2007-11-11 15:00
来自: 北京
送出感谢: 0
接收感谢: 0
联系:

#13

帖子 vvdounai » 2007-12-01 10:14

dngpng 写了:受楼主的启发,把楼主脚本中下载新浪读书频道的那一个专门改进了一下,修改如下:

+ 转换编码至UTF-8
+ 转换DOS风格的换行符至Unix风格
+ 按原文章分段
+ 去除页面底部多余信息,如“[上一篇]”
+ 如果每个连载章节有标题,包含标题
+ 每个连载章节之间加入分隔符:---------------

代码: 全选

用法:./sina-book-fetcher.sh URL FIRST LAST OUTPUT

URL:    The URL for the book without any filename at the
        end. e.g. http://book.sina.com.cn/nzt/novel/lit/abcdefg/
FIRST:  The section number you want to start with. e.g. 1
LAST:   The section number you want to finish with. e.g. 123
OUTPUT: The filename for output, without the .txt extension.


示例:下载《明朝那些事》第一至第五部分

代码: 全选

./sina-book-fechter.sh http://book.sina.com.cn/nzt/his/mingchaonaxieshi1/ 1 5 ming 

(输出文章样本也放附件里了)


下载:http://dengpeng.name/upload/sina-book-fetcher.tar.gz 或 本贴附件



呵呵,强啊!我只是做了玩玩,大家可以尽量去修改,满足自己的需要!另外,不知道有没有人对抓sohu读书频道的内容感兴趣?我想了很久不知道如何抓它的书,它的内容甚至在Firefox里都不显示。
wocoo
帖子: 10
注册时间: 2005-08-17 18:39
送出感谢: 0
接收感谢: 0

#14

帖子 wocoo » 2007-12-13 14:30

不知道什么原因新浪下载下来的文本总是缺章节,中间没有报错。用修改版也是如此。但是,缺的章节在浏览器中是正常显示的。

两位老大能看看是什么原因吗?

可以试试这本书:http://book.sina.com.cn/nzt/novel/lit/shidao/index.shtml
vvdounai
帖子: 44
注册时间: 2007-11-11 15:00
来自: 北京
送出感谢: 0
接收感谢: 0
联系:

#15

帖子 vvdounai » 2007-12-15 17:59

wocoo 写了:不知道什么原因新浪下载下来的文本总是缺章节,中间没有报错。用修改版也是如此。但是,缺的章节在浏览器中是正常显示的。

两位老大能看看是什么原因吗?

可以试试这本书:http://book.sina.com.cn/nzt/novel/lit/shidao/index.shtml


有可能是过滤语句的问题,我听一个朋友提起过下面是从我blog上转来的:

这个工具非常不错阿。可是我发现一个小问题。下载新浪的图书的脚本,
比如说对这个网页(http: //book.sina.com.cn/nzt/yc/guichuideng/73.shtml)分析的时候会丢失文章内容的一部分,无奈本人的水平有限,研究了半天也没有发现问题的根本所在,大概估计是在这句“sed -i 's/^[[:space:]]*//g' $i.txt”上。希望对您帮助。

您好,发现几点给你报告一下,呵呵。
1
sed -i '/[:space:][^C]*/d' $i.txt
sed -i 's/^[[:space:]]*//g' $i.txt
以上两句可以去掉,去掉后不仅能够不丢失内容而且能够保持原文的分段。

2
建议在文章下载下来之后马上进行编码转换,转换成utf-8(原始网页为GBK)iconv -f GBK -t utf-8,这样sed才能够无误进行工作。最初的时候我抓下来的书里面老是有“<!-- 正文页画中画 begin -->”,按道理说
sed -i 's/<[^<]*>//g'
这句能够把它去掉。折腾了半天,将字符转换成utf-8后,嘿嘿,一切ok了。

以上只是针对某篇文章有效果,对其他文章估计会有问题。也写下来供大家参考参考。
回复

回到 “Shell脚本”