百度新歌TOP100的下载程序

一直很喜欢听榜单,但是google的呀,百度的呀现在都用自己的FLASH播放器了,不能调整音效。

酷我音乐盒上面有一些比较如名的榜单可以直接听,而且我很喜欢它的桌面歌词。可惜的是酷我也不能调音效。

搜狗MP3还是嵌入的Media Player,装上DFX for Media Player以后,可以调音效了,但是看歌词麻烦,需要看着页面不动。

DFX装上了,再给Media Player装一个酷我歌词,齐了,可以使用迷你歌词边干其他事情边看歌词。

现在问题是怎么听榜单,没办法只得自己动手了,用python写了个百度新歌TOP100的下载程序。

由于榜单上的链接是给定歌曲名和歌手名一起搜,所以在第一页一般都有MP3类型的文件下载,没做搜索结果页的翻页处理,找不到MP3就算了。

下载附件后把文件后缀修改为.py双击即可,会显示一个使用帮助。

主要工作包括以下几点:

  1. 一个可以维护特定任何数的线程队列。比如我要下TOP100的前20首歌,显然一次性启动20个线程会很使得单首哥下载很慢,因此需要限制一下每个批次的线程数,下载好了再开始下一批。
  2. 百度MP3下载页面那个URL decode函数的一个python实现,这个其实不难,JS改过来都没怎么改代码,98%是裸COPY
  3. 敲代码的体力劳动

Tags: 榜单,百度

妓者?

现在有一篇文章在网上很热门,可以google一下“龙芯购美专利,胡伟武 “中国芯”光环褪尽”

我不是学造CPU的,但是我知道CPU有指令集这么一说,而且这玩意还不是每个人独有,比如AMD和Intel就是一样的使用x86,而不是一定就有规定如果自己造一个品牌的CPU就自己干一套。

那么再说说龙芯购买MIPS授权的问题,下面是《龙芯论坛版主:关于龙芯拿MIPS授权的一点理解》

阅读全部内容…

Tags:

免费的webservice列表

今天发现一个网站,有一系列的免费web service。

简单摘录几个:

国内手机号码归属地查询WEB服务

2400多个城市5日天气预报 WEB服务

股票行情数据 WEB 服务(支持香港、深圳、上海基金、债券和股票;支持多股票同时查询)

中国电视节目预告(电视节目表)

火车时刻表 WEB 服务

IP地址来源搜索 WEB 服务

等等...

详细地址请看 http://www.webxml.com.cn/zh_cn/web_services.aspx

Tags:

zz3GPP常用英文缩写全称大全

3GPP    3rd Generation Partnership Project
AAL    ATM Adaptation Layer
AAL2    ATM Adaptation Layer of type 2
AAL5    ATM Adaptation Layer of type 5
A&C    Authentication and Ciphering
ACFE    Access Control Function Entity
AI    Acquisition Indication

阅读全部内容…

Tags:

zz控制台程序中输入彩色字符

先帖一个C++的

cpp代码
  1. #include <windows.h> 
  2. #include <iostream> 
  3. using namespace std;   
  4. void SetColor(unsigned short ForeColor=4,unsigned short BackGroundColor=0)   
  5. {   
  6.      HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE);   
  7.      SetConsoleTextAttribute(hCon,ForeColor|BackGroundColor);   
  8. }   
  9.  
  10. int main()   
  11. {   
  12.      SetColor();   
  13.      std::cout<<"Hello world!"< SetColor(40,30);   
  14.      std::cout<<"Hello world!"return 0;   
  15. }  

再帖一个python的
在linux系统中,终端内可以通过curse模块或控制字符来输出彩色文本,但是在windows系统中没有curse模块也不能用控制字符,只能调用 win32console模块中的控制台相关函数。直接调用这些函数还是比较麻烦的,因此有人弄了个WConio模块,封装了这些函数的功能。使用 WConio,彩色文本的输出变得简单:

python代码
  1. import WConio  
  2. attr=WConio.gettextinfo()[4#保存默认文本颜色  
  3. WConio.textcolor(WConio.RED) #将后续输出的文本的颜色设为红色  
  4. print "红色的文字" 
  5. WConio.settextattr(attr) #回复默认的文本颜色 

下载WConio模块及获取更多相关信息请访问:http://newcenturycomputers.net/projects/wconio.html
P.S. 脚本里的最后一行,现在可能是WConio出新版本了,得改成WConio.textattr(attr) #回复默认的文本颜色
才有用...就是去掉set这三个字符....

Tags:

发四个CHM的手册

CHM的好处就是可以查找,所以我非常喜欢把下载的网页做成CHM,呵呵。我这些CHM都是用EBOOK编译的,是EXE格式,如果不放心的话,下载下来后先查一下毒

1、C++的手册,从cppreference整站下载的,手册内容的质量相当的赞,强烈推荐。大部分函数都配有详细说明和例子,可惜的是,全英文的。点击下载手册

2、MFC的简明手册。这是一本什么书,且看作者序“我曾写一本关于MFC的书,分析了MFC的结构和设计(《MFC深入浅出》),华中理工大学出版。书的内容建立在对MSDN和MFC SOURCE CODE的大量分析上,该书对于希望学习MFC的人来说,是较有价值的。可惜出版社好象只在几个城市针对学生作销售,虽然学生反应不错,但是外界知道不多。” 点击下载手册

3、python的手册,对应版本2.5.2,从python官网下载下来做成了一个CHM,缺点也全英文的。点击下载手册

4、模拟精灵的手册。模拟精灵是什么,自己搜搜就知道了,相当强大又好使的东西,我非常喜欢,大家不妨了解一下。只能用很好很强大来形容。本手册全中文,美中不足的是我从模拟精灵的官网整站下载的,所以有的地方CSS不对或者链接有问题。点击下载手册

如果打开手册发现不能浏览,请先解除系统对CHM的锁定。手册上点右键->属性

Tags:

ASCII码表

这玩意常备一个有好处。

两张图,一个是常用的,第二个是不常用的



Tags:

Oracle 和 Mysql的不同

网管项目本来使用Mysql来存储数据的,但是由于其他模块都使用Oracle数据库,所以现在要想Oracle迁移。

数据库转换是个比较头疼的事,搞了一上午,总算搞定了,记录下来

关于自增字段

需要先建立一个序列,比如INCSNMPID,完全默认就可以了。然后在相应的表里面建一个触发器,比如TRG_SNMPINFO,事件选项里面记得要选对表,不然触发器就建到别的表里面了。然后选择触发事件,这里选插入,那个之前不要动,这表示插入之前先进行序列的计算。高级选项里面的逐行触发也选上。

下面就需要手工填写触发器主体了

照着下面的来

DECLARE
new_ID number; //声明一个变量
BEGIN
select INCSNMPID.nextval into new_id from DUAL; //你定义的序列.nextval存入new_id,注意from DUAL不要动
:new.ID := new_ID; //把new_ID复制给新行的ID
END;

关于SQL的不同

Oracle使用用户来区分数据库,然后每个数据库里面有很多方案,方案下分布着各个表,所以写SQL的时候每个表要指定方案名,比如INSERT INTO "XDB"."SNMPINFO" ("ID",....

Mysql为了把表名,列名什么的和其他字符区分开,推荐使用`SNMPINFO`这样的形式把表名列名括起来,这个在Oracle里面不适用了,不需以"把这些内容括起来,实验发现好像'都不行,必须用",VALUES里面的数据用'。

关于datetime数据类型

Mysql里面datetime数据类型在添加的时候可以直接用NOW()来添加当前时间非常方便,Oracle没有这个功能,网上搜了一个C获取当前时间的代码,把内容组织好后在填到Oracle的varchar2类型里,效果是一样的。

cpp代码
  1. #include <stdio.h>  
  2. #include <time.h>  
  3.  
  4. void main ()  
  5. {  
  6.     time_t rawtime;  
  7.     struct tm * timeinfo;  
  8.  
  9.     time ( &amp;rawtime );  
  10.     timeinfo = localtime ( &amp;rawtime );  
  11.     printf ( "\007The current date/time is: %s", asctime (timeinfo) );  
  12.  
  13.     char now[100];  
  14.  
  15.     sprintf ( now,"%4d-%02d-%02d %02d:%02d:%02d\n",1900+timeinfo->tm_year,1+timeinfo->tm_mon,timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);  
  16.  
  17.     printf("%s",now);  
  18.  
  19.     exit(0);  

关于C的开发库

Mysql自带了C语言开发库,用起来还挺爽的,Oracle也有一个自己的C语言开发库,但是好像说很不爽。用Libsqlora8吧,网上说不错,下午熟悉一下先。

Tags: