ONE is all
朋友是韩寒的忠实粉丝,平时非常喜欢看“一个”上的文章,自从“一个”工作室来学校开见面会之后,更是迷上了马頔和吴惠子。但是“一个”每天发布一篇文章,而且只能看到最近一周的七篇。偷懒是人类的天性,朋友问我能不能把网上发布的文章下载下来,有空的时候再翻出来看,最好还能按作者来筛选想读的文章。
初学Python,正好拿来练练手,而且处理网页数据本来就是Python的特长。Python是一门非常“高级”的编程语言,有一个非常强大的标准库和丰富的第三方库,封装了很多底层实现的细节,让我们可以更专注于解决问题,而不用纠结于繁琐的语法本身。因此,我认为Python十分适合作为学习编程的入门语言。
回归正题,打开“一个”的官方网站,主页只显示最近的七期文章,随便打开一期文章,我们发现通过修改网址article
后面的数字,还是可以访问往期文章的(不是每一期都能找到)。但是文章并没有显示发布时间,因此无法根据具体时间、标题、作者来查找我们需要的内容。
一个可行的办法是写一个脚本,按时将发布的每一期文章保存下来,但长期来看,还是不够方便。还好我们找到了:http://caodan.org/,这个网站上传了“一个”发布的每一期文章。我们的想法居然和网站作者不谋而合!只不过我们没有那么无私奉献罢了…
文章链接包含了期号,网页中显示了发布时间、标题、作者,这样我们只要改变链接中的期号字段,将网页下载下来,提取出正文写入文件,然后以标题和作者命名,根据发布时间保存在不同目录下,以后查找起来就很方便了。
代码很简单,麻烦的是写正则表达式提取出上述需要的信息,以及过滤正文中的乱码。我们用一个record.txt
来记录最近一次更新到的期号,下次更新就可以接着往后了。
运行:
这是一年前写的东西,当时刚学完Python,代码写得很丑,不过至少能跑=_=#。
还是放上来吧:Kr0c/ONE-Downloader,万一正好有人也喜欢看“一个”呢!