这个其实是三月份的时候做的, 当时刚刚学会用urllib和正则表达式做一些爬虫, 于是结合人民群众的需要, 写了个小脚本(福利~)

不过现在我还只是会照葫芦画瓢那样用urllib, 没什么长进...

github地址: https://github.com/X-Wei/yssy_ppp_pic_downloader

1.

功能就是下载水源ppperson板里帖子的图片, 并且每个帖子一个文件夹放好. 通过修改main函数可以选择下载最近一页的帖子还是下载全部帖子(或者最近几页的帖子)

原理很简单, 分析网页的html代码, 用正则表达式找出图片的地址然后下载到本地. 当时我已经写了两三个简单的爬虫, 所以这个写得蛮快, 而且只用50行就搞定了...

不会用多线程, 只能一张一张下载, 帖子数目实在太多了, 我让它跑了一晚上, 第二天跑完, 下载了8个G的图, 几千个文件夹(囧)......

2.

不过还是遇到了一些问题, 比较老的帖子会有些图片404, 这时或者这个帖子对应的文件夹为空, 或者里面的图片其实不是图片, 而是出错信息的html代码(虽然看后缀是个图片). 我需要把那些不是图片的文件删掉, 而且要删掉所有的空文件夹.

删除不是图片的文件(其实应该是删除纯文本文件), 在水源发贴问, 用shell命令(perl)做到了(虽然不明白为什么这样写...):

find yssy_ppp …

[TOC]

markdown虽然写起来方便, 但是要预览的话还要用ReText打开, 而且ReText好像是Qt程序, 打开文件时不如别的编辑器那么流畅. 所以想找一个可以把markdown文件变成html格式的工具.

我甚至搜了很久"markdown2html"(github上居然可以搜到好几个项目...) 而没有注意到, 在终端输入"html2markdown"时显示的警告:

$ html2markdown
程序“html2markdown”尚未安装。  您可以使用以下命令安装:
sudo apt-get install pandoc

后来安装了pandoc(sudo apt-get install pandoc), 其实只要看看帮助就知道咋用了:

$ pandoc -h
pandoc [OPTIONS] [FILES]
Input formats:  native, markdown, markdown+lhs, rst, rst+lhs, html, latex, latex+lhs
Output formats:  native, html …

所有事都完成, 开始写歌评.

intro引子

本来我是计划从老鹰的一首歌开始写的, 昨天甚至计划好了第一首就写Hotel California.

BUT SOMEHOW, 决定第一首写它, 寂静之声(SoS).

如果把硬盘里的歌全部删了, 只能留十首歌的话, 我是肯定会留下这一首.

  • 歌名: The Sound of Silence
  • 专辑: The Graduate
  • 歌手: Simon&Garfunkel
  • 年代: 1967

不必多说, 这首歌应该知名度很高的吧, 西蒙与加芬科的成名作. Simon&Garfunkel组合凭借电影<<毕业生>>的两首配乐被许多人所熟知(另一首是Scarborough Fair).

以下摘自百度百科:

《寂静之声》旋律飘缓低迷,歌词充满了一种幻觉般的意境。细细听来,仿佛在诉说着年轻无助的一种宣泄。眼前似乎看到一个懵懂无知的女孩,独自一人行走在铺着鹅卵石的狭窄、清冷的小巷里,喧嚣的人群在她身后渐渐远去,前面是没有尽头的黑夜……歌曲如果说是属于民谣的话似乎太深邃,如果说随着强劲的乐曲而震荡的节奏是摇滚的话,却太细腻 …

毕设完了, 把答辩时用的beamer模板拿出来分享下.

github项目地址:

https://github.com/X-Wei/aBeamerTemplate4SJTU

我是tex菜鸟, 基本是遇见什么问题然后上网搜一通找到解决方案... 这个模板自然也是参考的别人的了...

参考自Yixf’s blog, 我只是修改了一下主题, 换了一下交大的图标, 并且做了一些常用功能的例子...

效果截图:

注意

  1. 使用xelatex编译生成, latex估计不行, xelatex的配置参考这里;

  2. 编辑内容直接修改beame_body.tex即可, 改变设置一般在beamer_header.tex里

  3. 我用的是文泉驿的字体, 可以修改beamer_header.tex改变字体设置, 查看已安装的中文字体的命令为: fc-list :lang=zh-cn

  4. 个人一点感觉: 用tex写ppt有时也会因为少些括号或者什么地方没注意老编译不过, 所以用tex写也不一定能比用powerpoint方便, 不论啥工具, 只要能get things done,就是好工具~

github上的好东西不少, 最近发现了两个比较有用的python程序, 这俩功能都是我比较想要的, 有需求就会有牛人去实现~

1. 视频下载器youku-lixian

https://github.com/iambus/youku-lixian

可不止支持下载优酷的视频奥, 土豆, 奇艺, 新浪, 酷6...... 通吃~

而且每个都只是一个小小的py文件, 直接就可以运行, 比起什么优酷客户端, 奇艺客户端小多了! 太赞了!~

2. 115网盘自动摇奖

https://gist.github.com/2698830

这个功能我曾经想要实现, 但是关于网络通信方面知道的太少了, 搞了一通也没有成功. 现在有人把它共享出来, 代码居然还不到100行, 强大啊~

昨天晚上, 这个帖子突然火了, 号称是交大技术男给女朋友做的... 亮点在于那只小老鼠:

我点进去看, 也很吃惊, 不过为什么那是一个flash? 而且美工做得这么好...

然后今天有人爆料, 这个其实是用的现成的材料, 网站是:

http://abowman.com/

这个网站提供了很多gadgets, 而且都做得好厉害, 还提供了对应的html代码, 只要粘贴进文件就能够看见了...

所以我把那个小老鼠搬到了侧边栏...

那个网站的一些小工具展示

Penguins:

Tree Frog:

Newton’s Cradle:

Fish:

不过貌似我用的模板的宽度和这个flash有点不匹配... 可能过几天就把它从侧栏撤掉了...

1.插入视频

效果就像校内网日志那样, 可以内嵌的视频.

其实很简单, 只需要把html代码放进markdown源文件就行了! 而视频的html代码在视频网站上一般都会提供:

复制下来放进源文件即可

2.删除线

markdown不支持删除线? 反正我没有在教程里找到... 但是删除线确实是个有用的功能, 在zim里记笔记的时候我就经常使用. 但是好像听说markdown是支持html内容的, 那么, 是不是直接加html的删除线代码就行了呢? 果然~!

<s>文本</s>
or
<strike>文本</strike>

嗯, 更复杂的html样式如果markdown没有的话也可以用这种方法弄~

3.给博客加入分享按钮

这个也是用网上找的html代码, 然后修改了一下主题(pelican-themes/bs5)中的一个html文件, 不过我水平太菜, 改了好久也没能让分享按钮处于标题下方...

2012-05-31补充

原先那个分享的按钮不好看也不很好用, 我借鉴了ubuntusoft网站上的分享按钮和回顶部按钮, 查看了下网页代码, 原来是用的百度分享以及友荐按钮, 修改主题文件./pelican-themes/bs6/templates/base.html,在 …

好吧最近太废了... 主观原因是心不静, 懒惰拖延, 客观原因(理由)是毕设和法语...

仔细分析一下, 貌似目前还是要专心把毕设跟法语搞定. 但是我还是想在毕业前多做一点事情, 列一个清单, 等忙完这一阵就开始做一下这些事情:

  • 写歌评

Eagles, Simon&Garfunkel, Brothers Four, 主要是这三个乐队的, 大概会有20首吧... 可能毕业前写不完, 但是一定要开始写, 我觉得关于某些歌我会有很多要写的.

  • 写写我的毕设

可能我做的毕设没什么意思, 但是至少可以写写那些学到的matlab技巧.

  • 写(所谓的)总结贴

一个是GT的一些经验总结, 一个是PT申请的一些经验总结. 这两件事大概就是我的2011的主线. 唉, 要是前者在2011年7月写掉, 后者在2011年12月写掉该多好!......


行了, 还是好好对付法语考试以及毕设论文去吧...

今天cbl问了我一个问题: 怎样打乱一个文本文件的所有行??

仔细一想, 确实有难度... 因为那个文本文件居然有1G, 用python读进内存再打乱的思路估计不行啊... 那么awk, shell什么的有没有解决方法? 搜到了一些帖子, 但是稍微复杂一点的shell脚本我也看不懂(弱爆了)...

我甚至想大概vim会提供这个功能吧, 没想到在搜的时候居然搜到了一个现成的shell命令: shuf!!

$ shuf --help
用法: shuf [选项]... [文件]
 或者:  shuf -e [选项]... [参数]...
 或者:  shuf -i LO-HI [选项]...
把输入行按随机顺序输出到标准输出。

长选项必须使用的参数对于短选项时也是必需使用的。
  -e, --echo            将每个参数视为输入行
  -i, --input-range=LO-HI   将LO 到HI 的每个数字视为输入行
  -n, --head-count=行数       最多输出指定的行数
  -o, --output=文件       将结果输出到指定文件而非标准输出
      --random-source …

明天ubuntu12.04LTS就要发布了! 然后今天下课回来在各种网站上闲逛, 突然发现了这个页面: 给网页添加ubuntu发布倒计时. 很厉害的样子, 介绍说只要把那一段代码加入网页的html文件就可以了. 我试了一下, 直接加在index.html上面--还真的可以唉~~

不过, pelican每次都是自动生成和更新index.html的啊, 难道每次都要手动加入这一行代码?? 难道还要自己修改pelican的代码??......

此时我想到了farseerfc学长的配置文件, 其中我把他的微博秀那几行注释掉了:

#~ SIDEBAR_CUSTOM = r"""
#~ <li class="nav-header"><h4><i class="icon-list-alt"></i>Weibo</h4></li>
#~ <iframe width="100%" height="550" class="share_self"  frameborder="0" scrolling="no" 
#~ src="<http://widget.weibo.com/weiboshow/index …