Other articles


  1. 关于饭否的两个小脚本

    前几天因为某些原因,我把饭否上所有的好友和关注者全部清空了。当然,如果没有程序的帮忙,估计还不等我删完我也就后悔了。

    我没有那么狠心的把饭否的消息给清空,因为消息是不可恢复的(而且也太多了),但好友和关注者是可以的。做事情都给自己留后路显然是我一贯的风格,不然的话,我大概早从我家阳台跳下去了……

    两段脚本都不长,第一段是备份饭否的好友列表和关注者列表的,做的毫无泛用性,因为 bash 编程我并不很熟,只知道可以用 wget 来抓取。本来这种事情其实可以直接用 API 抓的,不过我想抓下我能直接看的东西,所以最终还是导出了 Cookie 抓网页。

    第一段代码如下:

    #!/bin/bash
    
    mkdir friends
    for i in {1..11}
    do
        wget -k -e robots=off --load-cookies cookies.txt -P friends/ \
            http ...
    read more

    There are comments.

  2. 寻找更高仿的 ID 第二季

    继上一篇文章之后,我又下大力气对这个程序做了许多修改,在精确度和速度方面似乎都有些许提高。在此推出第二季~

    使用真正的 12px 宋体

    在上一次的程序中使用的 PIL 似乎是因为不支持宋体 ttc 文件中对于小字体下优化的点阵形式,才在选择小于 19px 的字号时不能正确渲染汉字。考虑到这一点,我就想到把 ttc 文件里面 12px 的点阵字体单独提取出来使用,毕竟贴吧上面显示 ID 都是用这个字号显示的。

    使用 FontForge 提取出来了 simsun-12.bdf 文件,就是宋体 12px 下的点阵。参考 PIL 的手册,发现 PIL 不能直接使用 .bdf 文件,需要使用一个叫做 pilfont 的脚本转换成专有的 .pil 文件才行。我想转换就转换呗。simsun-12.bdf 一个 ...

    read more

    There are comments.

  3. 寻找更高仿的 ID

    今天大学军训完了,不想做什么正经事,就想到前一段时间想做的寻找相似汉字的程序,用以寻找更高仿的贴吧 ID。用程序来寻找相似汉字,从另一个角度,也是从 Matrix67 大牛的一篇日志里得到的启发。不过 Matrix67 大牛使用的是 Mathematica 来寻找,我不大会 Mathematica,就想用我熟悉的 Python 来解决,毕竟 Python 是一个很强大的东西~

    其实寻找的思路很简单,就是把某个汉字当作图片弄出来,让后对比两个图片的相似程度。因此做这个程序的第一步就是研究如何用 Python 处理图片和文字。Python 有一个非常著名的第三方库,名叫 Python Imaging Library,简称 PIL,就是专门用来处理图片的。

    文字 to 图像

    PIL 可以很轻松的将文字转换为图像,并且提供了虽然不能说是强大,但暂时够用的图像处理函数。

    处理文字生成的图像,显然和彩色没有太大关系,因此可以使用灰度图像节省计算需要的空间和时间。此外我们知道,文字到图像有一个中间媒介 ...

    read more

    There are comments.

  4. BMP to HTML 小程序

    什么叫 BMP 到 HTML 呢……?就是生成一个网页,里面用不同颜色的字符拼出那个图片……很无聊的功能嗯,而且原理上说,生成的 HTML 文件如果要表现整个 BMP 的所有细节,大小肯定大大超过原 BMP 文件……

    为什么会做这个呢?主要是受到我们 C++ 老师的启发,尝试去做的。不过我没有用 C++ 写,而是选用了寒假学的 Erlang,这也是我写的第一个 Erlang 程序。

    为什么会选用 Erlang 呢?主要是基于两点原因:1、寒假学了半天,一点都没有练过,就拿这个来练练;2、看中了 Erlang 强大的模式匹配和比特语法。比特语法在 Erlang 里面原来是用来解决网络传输协议中的二进制数据的,不过这里拿来处理二进制文件着实是一个很好的选择~不过其实 Erlang 真正最重要的特性:面向并发 ...

    read more

    There are comments.

  5. 方便使用 VC6 编译器的小脚本

    因为一些原因,有时候不得不在 Linux 下使用 VC6 编译器。(比如学校的作业要求能在 VC6 下编译通过之类的要求)之前的用法太麻烦了,要把待编译的文件复制到 VC6 的安装目录,还要写很长的一串东西。要是能像调用 GCC 那么方便就好了~

    于是就有了下面这个小脚本:

    #!/bin/bash
    # - * - coding: UTF-8 - * -
    
    VC6_DIR="这里写上VC6的安装地址"
    
    BIN="$VC6_DIR/VC98/Bin"
    export INCLUDE="$VC6_DIR/VC98/Include"
    export LIB="$VC6_DIR/VC98/Lib"
    
    ARGS=
    
    while getopts "o:c" optname
    do
      case "$optname" in
      "o")
        ARGS ...
    read more

    There are comments.

  6. 鼠标控制音乐播放的小程序

    看这个标题一定很奇怪:难道我以前控制音乐播放不用鼠标么?这个文章的标题看起来像鼠标刚刚发明的推广期的文章……不过,当然不是这样的!

    其实只是想:如何把我的小本合上放书架上,当作一个音乐播放器+功放,并用我的无线6键鼠当遥控器遥控控制之。

    想想其实还是蛮有意义的功能,这样我做作业的时候可以不用戴耳机,不用用MP3,直接把本当播放器;同时,我不会看到屏幕上的东西,可以安心做作业~再看看我的6键无限鼠,那额外的功能键平时根本不用,也想不出能有什么用……这么好的东西就这样被我浪费了……(话说,拿本当音乐播放器是不是更浪费?)

    说干就干!

    首先提出构想:左键用于暂停和播放,滚轮调节音量,侧边的两个功能键用来切换上一首和下一首。至于右键和中键……再说吧,说不定以后可以扩展更多功能?说不定以后高兴了弄个鼠标手势什么的~嘿嘿

    接下来查找资料。印象中我的 Audacious 是可以用 D-Bus 控制的。简单地查阅了一下相关资料,发现了一个叫做 MPRIS 的播放器控制接口。为此,我还专门学习了一下 python-dbus 的使用。

    插一句话:python-dbus 怎么没有中文教程啊 ...

    read more

    There are comments.

Page 1 / 1

social