有经验的老鸟都(未婚的)会在公司附近租房,免受舟车劳顿之苦的同时节约了大把时间;也有些人出于某种原因需要每天披星戴月地游走于公司与家之间,很不幸俺就是这其中一员。由于家和公司离得比较远,我平时在公交车上的时间占据了工作时间段的1/4,再加上杭州一向有中国的拉斯维加斯之称(堵城),每每堵起来,哥都能想象自己成为变形金刚。这段漫长时间我想作为每个程序猿来说是无法忍受的,可是既然短时间无法改变生存的现状,咱就好好利用这段时间吧。所以,我特地买了大屏幕的Note II 以便看pdf,另外耳朵也不能闲着,不过咱不是听英语而是听小说,我在读书的时候就喜欢听广播,特别是说书、相声等,所以我需要大量的有声小说,现在网上这些资源多的很,但是下载页记为麻烦,为了挣取更多的流量和广告点击,这些网站的下载链接都需要打开至少两个以上的网页才能找到真正的链接,甚是麻烦,为了节省整体下载时间,我写了这个小程序,方便自己和大家下载有声小说(当然,还有任何其他类型的资源)
先说明一下,我不是为了爬很多资料和数据,仅仅是为了娱乐和学习,所以这里不会漫无目的的取爬取一个网站的所有链接,而是给定一个小说,比方说我要下载小说《童年》,我会在我听评书网上找到该小说的主页然后用程序下载所有mp3音频,具体做法见下面代码,所有代码都在模块crawler5tps中:
1. 先设定一下start url 和保存文件的目录
- #-*-coding:GBK-*-
- import urllib,urllib2
- import re,threading,os
- baseurl = 'http://www.5tps.com' #base url
- down2path = 'E:/enovel/' #saving path
- save2path = '' #saving file name (full path)
2. 从start url 解析下载页面的url
- def parseUrl(starturl):
- '''''
- parse out download page from start url.
- eg. we can get 'http://www.5tps.com/down/8297_52_1_1.html' from 'http://www.5tps.com/html/8297.html'
- '''
- global save2path