AutoUpdateSoftOnSkycn.cmd
十二月 27th, 2005
在软件使用上,我一直都是个喜欢追新的人。
不过这么多年来一成不变的浏览器+软件下载站+手工浏览下载的模式已经让我厌倦了。懒人总是有懒人的办法,因此也就有了这个使用 Windows 命令行脚本编写的 AutoUpdateSoftOnSkycn.cmd。
AUSOS 的工作原理很简单,用 wget 取得软件下载站上的某个软件的介绍页面,然后使用 grep/sed 来分析页面的文本取得此软件的下载地址,再次使用 wget 取得这个软件。使这个工作流程能真正应用的重点在于,大多数软件站的某个具体软件的介绍页面地址都具有持久性,这是为了提高使用具体关键字时自己在搜索引擎中的排名,同时也方便用户访问和自己管理。
基于这个工作原理,AUSOS 稍加修改就可以适用于大多数软件下载站,实际上这也是我下一步的目标。不过这样一来配置文件 AUSOS.conf 和项目列表文件 ItemIDList.ini 就会复杂一些了,到时候也许会做一个 GUI,如果真的需要的话。
另外编码过程中发现 Win2k 以后 Windows 命令行脚本虽然增强了很多,但还是有些不便,也许以后会移植到 bash 脚本上,这样虽然看上去没那么 NB 了,不过可以做到跨平台。Windows 下用 Cygwin 里的 bash 来执行;Linux 自是不必说,bash 已经流行很多年了。
写完发给一个 coder 朋友看,他说“Windows shell script 都可以写那么长,你丫真素 YD。”,呵呵。
如果你有兴趣的话可以在线看看 AUSOS 在 Vim 中高亮后的代码。并且,使用说明也可以在这里比较方便的看到。
下载地址:
AutoUpdateSoftOnSkycn.cmd v0.2
超微型的 Cygwin 环境,如果你和大多数人一样没有安装 Cygwin,那么请下载并解压到 AUSOS 所在目录或者 PATH 环境变量中列出的任何一个目录里。
十二月 27th, 2005 at 11:19
想法不错,不错不错
十二月 28th, 2005 at 08:00
你居然这么快就看到了,汗一个。
PS: 你 blog 上那个头像真不是一般的 YD。
十二月 28th, 2005 at 10:25
kjdfkjd
十二月 31st, 2005 at 23:09
终于肯发布出这个东西了啊。偶还为这玩意做过你的小白鼠来着!
祝新年快乐!!!!小家伙,你的前途是重庆美少女的大海!!!
一月 3rd, 2006 at 19:41
呵呵 终于看你在BLOG上面 来发表有意思的东西了我也来尝试使用下
四月 17th, 2006 at 18:09
天空有使用防盗链设置.脚本无效了....期待有更好的脚本
四月 18th, 2006 at 11:36
防盗链防不住脚本的,因为 wget 下载的时候发送了引用页。
我在重庆时也一直可以用,建议你换个镜像服务器。因为最近发现某些镜像服务器并没有使用 HTTP header 输出正确的 HTTP 响应代码,这会使脚本无法正常工作。
四月 18th, 2006 at 15:47
非常感谢你的回复.你的这个脚本写的真是不错.原来是我对ItemIDList.ini这个文件重新生成时.有可能变了格式造成.
但现在的一个问题是:直接使用时.对于不能下载的.如403的.他会生成一个403-9.htm这个文件.且显示成功下载.这明显是合实情的.
能否加一个判断.对下载了403-9.htm这个文件的时候.即没有正常下回来的时候.将其id号重新转向到一个文件.以便知道哪些文件没有正常下载完毕.我用你的脚本.测试了350个软件的下载.但只下载正常162个.
总得来说.脚本写得非常棒.功底不错.
这个脚本帮得我的大忙了.
四月 18th, 2006 at 15:49
研习代码中~~~
四月 18th, 2006 at 18:46
那个 403-x.htm 是服务器输出的,跟脚本没什么关系。我用四川绵阳的服务器就会酱紫。建议你用广东佛山,这个服务器在很多地方速度都很快,不过很不容易连上,估计是用户太多了。这种情况下应该把 SkipTest 设置为 YES 会更快一些。
现在刚到新公司,工作很忙,没时间来搞这个。本来未来的计划是写成通用的版本,可以从各大网站自动下载东西的。
四月 18th, 2006 at 20:57
回复得蛮快的.我确实是用四川的服务器.
看来,我得自己改了.不过还是太谢谢你了.程序写得真不错.没想到你还是刚毕业的学生.不错.真不错.呵呵.
现在我只想将有取到这种文件的ID号取出来.以便再试下载.若有好建议.请告之.谢谢.
四月 19th, 2006 at 14:00
可以在用 wget 下载完文件后看看之前获取到的文件名的文件是否存在,查看 wget 的下载日志中保存文件提示那里的文件名跟之前获取到的文件名是否相同等等。
这个代码其实写得比较乱,一开始没想太多。另外我不是刚毕业的学生。
六月 14th, 2006 at 22:22
我想做的那个东西正和这个有点类似呢,于是就搜到了这个blog
就想问问编码问题怎么解决啊
比如我用wget下了个网页,我想用grep搜里面的中文,但中文都是看不懂的编码啊,不知道怎么弄
能指点一下么
谢谢
六月 15th, 2006 at 16:53
使用 iconv 转换一下编码就行了。
六月 22nd, 2006 at 19:41
谢谢回复
这个方法是挺管用的
还有个url编码的问题向您请教
我在php里用urlencode函数对“技术”这2个字编码,结果得到“%E6%8A%80%E6%9C%AF”,这个应该是utf-8的编码啊,可是我的apache2.conf和php.ini两个文件里都将default-charset设成了GB2312啊。
那我应该怎么用urlencode得到“技术”的gb2312编码呢??
谢谢
六月 22nd, 2006 at 22:55
RTFM.
六月 23rd, 2006 at 15:59
thanks anyway