正在加载...

· Microsoft是在窃取还是改进产品!

2009年12月31日 09:22

在IE8下访问了百度的网址http://passport.baidu.com/?verifypic&t=1262161607779

而Microsoft的IE浏览器却多干了一件事情。来看看HTTP Analyzer的抓取结果。

https://urs.microsoft.com/urs.asmx?MSURS-Client-Key=

POST /urs.asmx?MSURS-Client-Key=b8GNiLKCTE1/t%2b6TfL9g%3d%3d&MSURS-Patented-Lock=BSFyGQ%3d HTTP/1.1
Accept: text/*
SOAPAction: "http://Microsoft.STS.STSWeb/RepLookup"
Content-Type: text/xml; charset=utf-8
User-Agent: VCSoapClient
Host: urs.microsoft.com
Content-Length: 732
Cache-Control: no-cache

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><soap:Body><RepLookup xmlns="http://Microsoft.STS.STSWeb/"><G>{2CEDBFBC-DBA8-43AA-B1FD-CC8E6316E3E2}</G><O>{6C2BDA4A-56C4-4105-9634-3EEB51D49562}</O><P>{9BEFADE1-F9FB-4978-BE8F-9B5560516A5D}</P><D>8.0.6001.9</D><C>8.00.6001.18669</C><S>5.1.2600.3.0</S><I>8.0.6001.18702</I><L>zh-cn</L><R xmlns:q1="http://Microsoft.STS.STSWeb/" soapenc:arrayType="q1:Rq[1]"><Rq><T>URL</T><R>http://passport.baidu.com?verifypic&amp;t=1262161607779</R><O>POST</O><W>FRAME</W></Rq></R></RepLookup></soap:Body></soap:Envelope>


IE除了访问我们输入的网址外还向Microsoft的服务器发送了一条数据。

有人知道这是为什么吗?不知道Microsoft对此有没有任何解释啊?

· 世界前二十大独裁者排名(2009)

2009年12月15日 17:16

1、穆加贝(Robert Mugabe) 津巴布韦总统 85岁

2、巴希尔(Omar al-Bashir) 苏丹总统 65岁

3、金正日(Kim Jong-Il) 朝鲜委员长 67岁

4、丹瑞(Than Shwe) 缅甸主席 76岁

5、阿卜杜拉(King Abdullah) 沙特国王 85岁

7、哈梅内伊(Sayyid Ali Khamenei) 伊朗最高精神领袖 69岁

8、伊萨亚斯(Isayas Afewerki) 厄立特里亚总统 63岁

9、别尔德穆哈梅多夫(Gurbanguly Berdymuhammedov)土库曼斯坦总统 51岁

10、卡扎菲(Muammar al-Qaddafi) 利比亚领导人 66岁

11、卡里莫夫(Islam Karimov) 乌兹别克斯坦总统 71

12、巴沙尔(Syria) 叙利亚总统 43

13、劳尔·卡斯特罗(Raul Castro) 古巴最高领导人 77

14、奥多罗·奥比昂(Teodoro Obiang Nguema) 赤道几内亚总统 66

15、卢卡申科(Aleksandr Lukashenka) 白俄罗斯总统 54

16、吉尔马(Meles Zenawi) 埃塞俄比亚总统 53

17、代比(Idriss Deby) 乍得总统 56

18、姆斯瓦蒂三世(King Mswati III) 斯威士兰国王 40

19、保罗·比亚(Paul Biya) 喀麦隆总统 76

20、穆巴拉克(Hosni Mubarak) 埃及总统 80

这里有3个社会主义国家,2个君主制国家,10个非洲国家,8个亚洲国家,1个美洲和欧洲国家。

美国《华盛顿邮报》发行的周末副刊杂志《大观(PARADE)》21日报道说,北韩领导人金正日在“世界十大独裁者”中位居第三。

《大观》每年都评选出“世界十大独裁者”,去年将朝鲜国防委员长金正日评为世界十大独裁者之首,但今年将其排名降至第三位。

该杂志每年都以美国国务院和国际人权团体“人权观察”、Amnesty International、Reporters sans frontières等方面的资料和情报为基础,对践踏人权、居民在领导者统治下承受的痛苦程度、他们行使的绝对权力的程度等进行分析,评选并公布世界十大独裁者。

在今年的评选中,津巴布韦总统罗伯特-穆加贝“力压”金正日排在首位,成为世界最腐朽的独裁者。

去年排名第六的穆加贝自1987年执政以后肆意进行铁拳统治,甚至将经济推向崩溃的边缘,失业率高达85%,在严重的通货膨胀局面下,政府于今年1月甚至发行了面值500亿津元的钞票。另外,去年8月份以后霍乱猖獗,导致3800多人死亡。

在世界十大独裁者中排名第二的是苏丹总统奥马尔-阿尔-巴希尔,他去年也排在第二位。巴希尔是主导达尔富尔大屠杀的罪魁祸首,国际刑事法院(ICC)最近对他发出了逮捕令。

位居第四的是缅甸军政最高领导人丹瑞。去年5月袭击缅甸的飓风“纳尔吉斯”造成14万人死亡或失踪,受灾居民达200万人以上,但丹瑞却推迟救助团体进入灾区,受到国际社会的谴责。丹瑞去年排在第三位。

其次是沙特阿拉伯国王阿卜杜拉,他去年排在第四位,今年下降到第五位。在沙特阿拉伯,女性未经男性保护者的允许不能就业、旅游、求学、结婚,甚至不给女性发放身份证,而且连刑法都不存在。

· 2009中央经济工作会议举行 胡锦涛温家宝作重要讲话

2009年12月07日 14:05

新华社快讯:中央经济工作会议12月5日至7日在北京举行,胡锦涛、温家宝作重要讲话。
新华社快讯:中央经济工作会议提出,保持宏观经济政策的连续性和稳定性,继续实施积极的财政政策和适度宽松的货币政策。
新华社快讯:中央经济工作会议提出,做好明年经济工作,重点要在促进发展方式转变上下功夫,在发展中促转变,在转变中谋发展。
新华社快讯:中央经济工作会议提出,要以扩大内需特别是增加居民消费需求为重点,以稳步推进城镇化为依托,优化产业结构,努力使经济结构调整取得明显进展。
新华社快讯:中央经济工作会议提出,要把解决符合条件的农业转移人口逐步在城镇就业和落户作为推进城镇化的重要任务,放宽中小城市和城镇户籍限制。

· “暴力抗法”其实是一种反讽

2009年12月07日 13:54

      47岁的唐福珍点燃打火机自焚的一刹那,是否预想到,要经过16天的痛苦煎熬,她才能求仁得仁,彻底撒手尘寰;而且死则死矣,她的亡灵还要背负“暴力抗法”的恶名?对于某些人,该如何定义“暴力”,如何诠释“法”,才能使这个冷若冰霜的词组,成为覆盖在唐福珍尸身之上的和谐幕布?
     已经不必再复述新闻,罗生门式的发言渐渐逼出了冰冷的真相。只说一个细节,有谁见过凌晨时分的依法拆迁呢?这场轰轰烈烈的反拆迁及唐福珍自焚事件,正是发生于11月13日凌晨5时左右。执法人员真是勤奋,这么早就开始上班吗?对于睡梦里的老百姓而言,这一时刻破门而入,谁知道来的拆迁者,还是不幸遇上了昼伏夜出的强盗在打家劫舍?
夜幕是一重隐喻,黑暗是一重铺垫。有时候,新闻的背景就注定了结局,“暴力抗法”固然写于正大光明的官方通报之上,其含义只能反过来解读。这亦是我们阅读中国新闻最常用的索隐法。
所谓“暴力”,依官方通报,是指“唐福珍等人从楼顶投掷了上百瓶燃烧的汽油瓶,向楼下泼洒了大量汽油并纵火”。这里有多大的夸饰成分呢,我们更熟悉相应的一幕:“都是穿迷彩服的,有的拿着盾牌,有的拿着钢管,不分男女老少,见人就打”,“锯开三楼防盗门,头戴钢盔,手持棍棒,冲上三楼楼顶,唐家的人都躲在楼顶平台上,吼叫声、打斗声、妇女孩子的哭叫声混成一片”。很容易推断,前后二说何者为真,何者为伪。即便唐家真有投掷汽油瓶的暴力行为,那也是出现在拆迁者施暴以后,是对执法人员暴力拆迁的反抗。人为刀俎,我为鱼肉,鱼肉连挣扎一下的权利都被剥夺了吗?当唐福珍举起了一个弱者最后的武器——点燃自己的肉身——以死明志,谁是暴力的主体,谁是残酷的凶手,不言自明。
      所谓“抗法”,则需细细分辨:施暴者是不是违法在先,作为受害者的唐福珍及其家人抗的是哪门子法,是良法还是恶法?说到“抗法”,倒让人想起了另一位名闻遐迩的抗拒拆迁者,上海闵行区的潘蓉,不仅高举汽油燃烧瓶,还高举《物权法》与权力者争理,不曾想对方拿出了更具杀伤力的《城市房屋拆迁管理条例》。于是呈现了中国司法生活当中最悖谬的一幕:空洞无物的上位法敌不过具体而微的下位法,本该早早被废止的《城市房屋拆迁管理条例》依旧畅行无阻,导致《物权法》沦为了“无权法”。我们不能说《城市房屋拆迁管理条例》完全是恶法,可毋庸置疑,它是司法改革路上的“钉子户”。这样的钉子不早一天拔掉,《物权法》便不能早一天长出锋利的牙齿。
      唐福珍的“抗法”,甚至连抗拒《城市房屋拆迁管理条例》都算不上。因为我遍寻此条例,找不出任何一款支撑凌晨时节暴力拆迁的规定。唐福珍抗拒的是违法者,用刑法学上的术语说,这叫“正当防卫”。她应该被誉为“护法英雄”才对呢。如果在今年年底,评选2009年中国十大法治人物,唐福珍能够榜上有名,倒可为她的自焚涂抹一丝善意的光泽。她也算死得其所。
写到这里才发觉,官方通报所言的“暴力抗法”,就像瓮安事件里的“俯卧撑”,其实是一种高明的反讽,表面上是说唐福珍及其家人,实质上则是指拆迁者及其代言人。在中国,拆迁什么时候与暴力无关,什么时候与法律有关呢。“暴力抗法”的纸枷锁,扣在那位对媒体颠倒黑白的成都市金牛区城管执法局局长钟昌林头上,应该十分合适——似乎为了印证我的论断,12月2日,钟昌林被停职接受调查。
      时光永是流逝,街市何来太平,唐福珍式的悲剧暂无被遏止的可能。尽管她死于自焚,但接下来的问题并不荒谬:是谁杀了唐福珍?

· 致DNSPod用户:停止URL转发服务通知

2009年12月04日 16:50
尊敬的DNSPod用户:
您好!
最近DNSPod免费用户的URL转发服务器被攻击。实际情况表明是某些客户自己的网站被攻击,然后滥用DNSPod的URL转发功能,认为这样能给抵御攻击。
正因为有这样的人,我们考虑再次取消免费用户的URL转发权限。我们将继续提供至多一周的URL转发服务,之后对免费用户的URL转发服务将停止。
对您造成的影响表示抱歉。
再次感谢您对DNSPod的支持!

-------------------------------------------------
此邮件由DNSPod系统发出,系统不接收回信,因此请勿直接回复。 如有任何疑问,请联系 support@dnspod.org。
DNSPod入门教程: https://www.dnspod.com/About/Tutorial
DNSPod帮助系统: http://support.dnspod.com
DNSPod官方公告: http://announce.go2u.cn
免费技术支持: support@dnspod.org
Copyright 2009, 版权所有 DNSPod.COM

· 中国彩票,再造假!

2009年12月02日 14:49

网帖爆体彩大乐透河南和四川两张同一时间产生的一等奖彩票惊人巧合
奇迹
分别位于四川和河南的两位彩民同时购买到同一号码的机选彩票,均中大奖。
奇迹的平方
两位彩民在2009年11月16日18点03分一分钟之内(误差23秒)同时下注购买到这同一号码的中奖机选彩票。
奇迹的立方
两位彩民同时购买到的机选彩票虽然有五注和三注的区别,但三注票的号码与五注票的其中三票号码一模一样。
两张彩票,同一天、同一小时、同一分钟购买,相同的号码同时中了一等奖,除了中奖一组号码外,其他未中奖的2组号码也完全相同,唯一不同的是一张彩票在河南买,一张在四川买。近日,有网友发现,体育彩票大乐透第2009134期的河南和四川两张一等奖 彩票,从时间到号码上的惊人相似,有网友称为奇迹中的奇迹,有网友则直指其中必有黑幕。昨日下午,国家体彩中心紧急向本报回应,出现这种情况是存在可能性的,只是巧合,并非造假。
近日,一个《还说没有假?买彩票惊现奇迹中的奇迹》的帖子经过著名网友张洪峰在搜狐博客上的整合报料,在各大网站流传,引起网民特别是彩民的极大反响。帖子中附上了两张图片,展示出2009134期两个一等奖的两张兑奖票,上面的中奖号码一模一样,购 买的时间也同为2009年11月16日18时03分,而且另外几组没有中奖的号码也是一模一样的数字组合,唯一不同的是,两张彩票的购买地分别是河南和四川。
网友怀疑有黑幕要求彻查
根据提示,记者登录了国家体彩中心唯一指定的官方网站中国体彩网,从该网站上查阅2009134期河南和四川两地的体彩中奖信息,确实如网友所举证的一样,两张彩票出现惊人的相似。
关于质疑彩票业的声音多年不断,但彩民苦于不知从何入手获取确凿证据,要求曝光中奖者信息往往遭遇保护隐私权争议!这2张惊人相似的中奖彩票,不少网友都在网上直指体彩肯定有黑幕,呼吁司法介入彻查。搜狐道:“这种巧合机会是行星撞地球,万年等一回” ,大旗网友讽刺道:“楼主你错了,要说彩票不造假那才是奇迹的立方。”
卖彩票人员不相信是奇迹
记者在广州本地一个体育彩票销售点找了一名员工把这个巧合的情况告之,有1年多卖彩票经历的张先生称:“如果仅仅是同一时间不同地方机选出一注一样的号码是有可能的,但是竟然同一时间机选出三注一样的号码,这个确实难以让我相信。”张先生表示,从图片 上看,编码应该是真的,不像是模仿,“体彩的彩票根本没有办法模仿,两套防伪标志,每张序列号都不一样的。但这么大的巧合,我还是无法相信这是个奇迹。”
国家体彩中心回应:确为巧合 并无黑幕
昨日中午,本报记者致电国家体彩中心求证,接电话的工作人员连称,这只是巧合,“从技术上来说,确实有可能的。”随后为了慎重起见,体彩中心宣传部门把记者反映的两张惊人相似的彩票情况,要求技术部门作出鉴定。
同1秒也可能号码相同
国家体彩中心经过一下午的鉴定研究后,给本报记者发来了官方的回应《关于大乐透第2009134期两张彩票问题的答复》。回复中称,体育彩票超级大乐透于2007年5月28日开始全国联网销售,目前平均每期销量超过6000万元,在如此大的销量下,销 售高峰时每秒钟可产生数百笔交易.据我们查看媒体提供的两张彩票的图片,两张彩票出票的打印时间相差23秒,因此票面上的投注号码相同是很正常的。即使在同一秒钟,在全国10余万个体彩投注站,无论是机选还是自选,无论中奖号码和不中奖号码,都有产生相同 投注号码的可能性。
票面上序列号、检验码、密码三个要素组合起来构成每张彩票唯一的身份标识。
数据更改不存在可能性
每一台销售终端在销售出票的同时,都能实时将销售数据传送到总局体彩中心的数据库中。每天20时全国统一截止销售后,总局体彩中心机房工作人员按照严格的流程规范,将当期所需开奖的销售数据进行封存,摇奖才能进行。从程序监督的环节来讲,数据更改的可 能性是不存在的。
巧合并非第一次发生
这样的巧合,并非第一次发生。
七星彩第09047期,相距千里的黑龙江和河南中500万元的两张彩票打印时间居然完全一样,一秒都不差,同为2009年4月26日10时17分12秒打印,不仅打印时间一样,就连彩票第2排中间的随机校验码也一样,都是L>1JBv。
2009年8月7日,不少彩民在湖南的《三湘都市报》上发现了一个令人惊奇的事,这份早上出版的报纸居然未卜先知,刊登了当晚全国福彩3D的开奖结果。实际上2009年8月7日的报纸正巧错刊了2007年第106期的开奖结果,神奇的是7日当天晚上的 中奖号码正好与2007年第106期的中奖号码相同。


呼吁公安部能像查中国足球一样查查中国彩票。

· 反编译 解密 google tool bar 的PageRank

2009年11月30日 17:18

google的PageRank,虽然各大网站都能查询,但是,具体是从google 哪个数据源来的?幸运的是,google tool bar
上有pagerank的值。Sniffer 会告诉你,大概是从:
GET /search?client=navclient-auto&iqrn=-WM&orig=0BATi&ie=UTF-8&oe=UTF-8&features=Rank:WH:&q=info:http%3a%2f%2fwww.sina.com.cn%2f&googleip=O;74.125.153.147;297&ch=772063278971 HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 6.2.1910.1554; Windows XP 5.1; MSIE 8.0.6001.18702)
Host: toolbarqueries.google.com
Connection: Keep-Alive
Cache-Control: no-cache
toolbarqueries.google.com  这个主机进行查询的。
看上去好像换一下 q 变量就可以请求了。但是,发现不可以。我翻遍了很多论坛,几乎都是转载,而且都不能运行代码。
后来,在一个国外论坛里面找到了一段代码。但是也用不了。找了多段代码,都用不了,但是我发现核心算法都差不多。
经过我修修改改。下面这段终于可以了:

<?php 
/*
Written and contributed by 
Alex Stapleton, 
Andy Doctorow, 
Tarakan, 
Bill Zeller, 
Vijay "Cyberax" Bhatter 
traB 
This code is released into the public domain 
*/
define('GOOGLE_MAGIC', 0xE6359A60); 
//unsigned shift right 
function zeroFill($a, $b) 

$z = hexdec(80000000); 
if ($z & $a) 
        { 
$a = ($a>>1); 
$a &= (~$z); 
$a |= 0x40000000; 
$a = ($a>>($b-1)); 
        } 
else
        { 
$a = ($a>>$b); 
        } 
return $a; 
}  
function mix($a,$b,$c) { 
$a -= $b; $a -= $c; $a ^= (zeroFill($c,13));  
$b -= $c; $b -= $a; $b ^= ($a<<8);  
$c -= $a; $c -= $b; $c ^= (zeroFill($b,13)); 
$a -= $b; $a -= $c; $a ^= (zeroFill($c,12)); 
$b -= $c; $b -= $a; $b ^= ($a<<16); 
$c -= $a; $c -= $b; $c ^= (zeroFill($b,5));  
$a -= $b; $a -= $c; $a ^= (zeroFill($c,3));   
$b -= $c; $b -= $a; $b ^= ($a<<10);  
$c -= $a; $c -= $b; $c ^= (zeroFill($b,15)); 
return array($a,$b,$c); 

function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) { 
if(is_null($length)) { 
$length = sizeof($url); 
    } 
$a = $b = 0x9E3779B9; 
$c = $init; 
$k = 0; 
$len = $length; 
while($len >= 12) { 
$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24)); 
$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24)); 
$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24)); 
$mix = mix($a,$b,$c); 
$a = $mix[0]; $b = $mix[1]; $c = $mix[2]; 
$k += 12;  
$len -= 12; 
    } 
$c += $length; 
switch($len)              /* all the case statements fall through */
    { 
case 11: $c+=($url[$k+10]<<24); 
case 10: $c+=($url[$k+9]<<16); 
case 9 : $c+=($url[$k+8]<<8); 
/* the first byte of c is reserved for the length */
case 8 : $b+=($url[$k+7]<<24); 
case 7 : $b+=($url[$k+6]<<16); 
case 6 : $b+=($url[$k+5]<<8); 
case 5 : $b+=($url[$k+4]); 
case 4 : $a+=($url[$k+3]<<24); 
case 3 : $a+=($url[$k+2]<<16); 
case 2 : $a+=($url[$k+1]<<8); 
case 1 : $a+=($url[$k+0]); 
/* case 0: nothing left to add */
    } 
$mix = mix($a,$b,$c); 
/*-------------------------------------------- report the result */
return $mix[2]; 

//converts a string into an array of integers containing the numeric value of the char 
function strord($string) { 
for($i=0;$i<strlen($string);$i++) { 
$result[$i] = ord($string{$i}); 
    } 
return $result; 

// converts an array of 32 bit integers into an array with 8 bit values. Equivalent to (BYTE *)arr32 
function c32to8bit($arr32) { 
for($i=0;$i<count($arr32);$i++) { 
for ($bitOrder=$i*4;$bitOrder<=$i*4+3;$bitOrder++) { 
$arr8[$bitOrder]=$arr32[$i]&255; 
$arr32[$i]=zeroFill($arr32[$i], 8); 
        }     
    } 
return $arr8; 

// http://www.example.com/ - Checksum: 6540747202
function getCheckSum($url, $isnewversion = false)
{
$url = 'info:' . $url;
$ch = GoogleCH(strord($url));
//Checksum < 2.0.114
if ($isnewversion) {
$ch = ((($ch/7) << 2) | (((int)fmod($ch,13))&7)); 
$prbuf = array(); 
$prbuf[0] = $ch; 
for($i = 1; $i < 20; $i++) { 
$prbuf[$i] = $prbuf[$i-1]-9; 
        } 
$ch = GoogleCH(c32to8bit($prbuf), 80);
    }
$ch = sprintf("6%u", $ch);
return $ch;
}
function getPageRank($url, $isnewversion = false)
{
$ch = getCheckSum($url, $isnewversion);
$url = 'info:' . urlencode($url);
$q = "http://toolbarqueries.google.com/search?client=navclient-auto&features=Rank:WH:&q=$url&ch=$ch";
return file_get_contents($q);
}
echo getPageRank($_GET['q']);
?>

调用就一句话。解密的算法是通过反汇编得到的。不知道,博客园有没有知道google 执行了什么加密算法计算
ch。我看了以后,是不知所云。

· 谷歌,挺住!我们支持你!

2009年11月27日 20:12

第一次称呼用谷歌来称呼Google中国,我是被迫的。虽然Google中国在开发者眼里不够Google,但是总比百毒好。
Google是值得每一个程序员从内心深处去尊敬的公司,Google是程序员的向往,是技术世界的神。
1. Google开放所有可能的API数据,供用户免费调用。docs、note、maps、gmail、search等等。gmail提供smtp/pop所有协议,而hotmail/yahoo mail只让用户通过web收信。
2. Google尽自己的力量为程序员提供服务,而另外一巨头微软却尽可能的封闭自己。
3. Google的gmail、maps应用的ajax带来web世界发展的带来革命性的变化;而微软的IE不遵行标准、不开放给web世界带来混乱。
4. Google推动一个优雅语言python的发展,寻求将Python 性能提高5 倍。而微软的.Net平台只能在windows下运行。推出.NET的目的也许只是为了收费的window系统和收费的.NET开发工具VS.NET
5. Google正致力于推动HTML5的发展,促进web世界技术革新。
6. Google 即将推出震惊技术世界的Google Wave。
7. Google的云计算平台Google App Engine。 免费提供500MB 的持久存储空间以及可支持每月 500 万综合浏览量的足够带宽和 CPU,免费绑定域名。 足够所有日访问量在15万以下的网站免费使用。这种流量足够中国90%的企业网站都免费使用稳定可靠的虚拟主机。 (只是不幸我们出生在中国,GFW不喜欢这项伟大的服务)
8. Google Apps(企业套件)为企业提供免费的企业邮局、在线办公、协作平台。 Google Apps + Google App Engine = 企业邮局+虚拟主机+在线办公+团队协作。 容量相当于中国万网(www.net.cn)网站上价值2000元/年以上的套餐。有了他,中国的中小企业每年可以节省几千快的费用。(再加一句:只是我们不幸出生在中国大陆)
9. 国内的百毒、腾讯等没有与Google对比的资格。我能想到的只有:人工控制搜索结果、恬不知耻的一味抄袭、完全封闭、只索取从不回报。
Google的存在,是技术世界之幸。虽然我们不幸的出生在中国,享受不到部分服务。但,你的贡献我们都看到了。
谷歌,挺住!流氓土匪打不倒你!
谷歌,挺住!车匪路霸阻拦不了你!
谷歌,挺住!我们支持你! (文:屈伟  http://quwei.techweb.com.cn/ )
(注:本文没有笔误,我用的Google输入法,不可能笔误。)
(本文欢迎google fans们转载)

· 微软明年1月推云计算系统

2009年11月18日 10:50

微软周二称,将在明年1月1日推出Windows Azure云计算系统,希望藉此利用网络软件和服务增长中的市场兴趣。

微软首席软件架构师雷·奥兹(Ray Ozzie) 在周二召开的微软年度软件开发者会议上称,微软将在明年初正式推出Windows Azure服务。此前,这项服务已在一年前推出试用版。Windows Azure系统为软件开发者提供一个网络平台,供其创建自己的应用程序,并为用户提供出存储数据的空间。

奥兹称,在推出Windows Azure云计算系统的第一个月时间里,这项服务将是免费的,从2月起开始收费。

分析师称,预计微软将在云计算市场上成为重要的从业者,但该公司已经落后于亚马逊和谷歌等领先的竞争对手。目前,亚马逊已在出售基于云计算的存储服务,谷歌则正在提供一系列免费的网络软件。

· 几个 Windows 主题标题栏的圆角处理

2009年08月17日 15:05


绝大部分的 Windows 主题中,活动窗体的标题栏都是圆角的(只有少部分的主题的活动窗体的左下角和右下角也是圆角),只不过各有各的处理办法和风格。
如下图中橙色线框中所示,Windows XP 的默认蓝色主题的圆角处理是“一点-两点-一点-两点-一点(1 - 2 - 1 - 2 - 1)”。如果你了解一点像素画,这个应该不难理解。
 anti1           
而我比较喜欢的主题也都是采用的这样的处理办法,例如现在用着的、被人说很“Win”的Royale,还有之前的 Ubuntu
anti2

anti3

其实还有一个处理办法相比 Royale 的 1 - 2 - 1 - 2 - 1 来说,锯齿感要更加弱一些,那就是 Sirius 主题采用的 1 - 2 - 1- 1 - 2 - 1,如下图所示。
anti4
另外采用这个方法的还有经典的 Milk 3.1。
anti5
不过这样大的圆角对于一个窄边的标题栏来说,感觉会有点奇怪。
此外,还有像 Office 2007 采用 1 - 2 -2 - 1 的圆角,也有像 Klarheit 一样采用 1 - 1 - 1 这样奇怪的圆角,如下图。

anti6

anti7
当然,对付圆角还有一个撒手锏,那就是——

采用 Windows Classic,哈哈~

anti8

 

附几个UI Design的站点:
http://www.jjying.cn/
http://www.eicodesign.com/

· 饭否语录!

2009年08月14日 17:28

来自豆瓣,谨以此纪念还未复活的。当然不只是用户油菜,咱中国网民个个都是菜花飘逸。 我想说这样牛逼的网民群体是不可战胜的!

1.我这人从不记仇,一般有仇当场我就报了。

2.别在我的坟前哭,脏了我轮回的路。

3.已经将整个青春都用来检讨青春,还要把整个生命都用来怀疑生命。

4.是这样的张总,妳在家里的电脑上按了CTRL+C,然后在公司的电脑上再按CTRL+V是肯定不行的。即使同一篇文章也不行。不不,多贵的电脑都不行。

5.你要是鲜花,以后牛都不敢拉粪了!

6.我以为你只是1和3中间的数,没想到你还是1和3俩数的组合。

7.在网易看到一条评论:我指着一盆花,淡淡地说:草。我指着天空,淡淡地说:日。

8.先是《中国不高兴》,然后是《中国为什么不高兴》,接下来是《中国凭什么不高兴》、《中国怎么那么不高兴》、《你说中国怎么那么不高兴》、《凭什么让我说中国怎么那么不高兴》、《凭什么不能让你说中国怎么那么不高兴》、《我他妈哪知道中国怎么那么不高兴》……

10.自己选择45°仰视别人,就休怪他人135°俯视着看你。

11.Ralph W. Sockman说:当我们是少数时,可以测试自己的勇气;当我们是多数时,可以测试自己的宽容。

12.牧羊,一辈子都在急;金牛,一辈子都在守;双子,一辈子都在徘徊;巨蟹,一辈子都在等;狮子,一辈子都在控制;处女,一辈子都在准备;天秤,一辈子都在权衡;天蝎,一辈子都在猜疑;射手,一辈子都在玩儿;摩羯,一辈子都在奋斗;水瓶,一辈子都在做梦;双鱼一 辈子都不知道自己在做什么。

13.在职场中就应该像柯南那样,有一种我走到哪就让别人死到哪的霸气。

14.一食人族上班,经理再三交代不能吃同事,答应。过几天忍不住,偷吃一个清洁工人,当即被发现。其感悟是:千万别吃真正做事的人。

15.李碧华说过: 什么叫多余?夏天的棉袄,冬天的蒲扇,还有等我已经心冷后你的殷勤。

16.永远年轻,永远装嫩,永远不知好歹,永远热泪盈眶。

17.很多时候你只是某个人的练爱对象而非恋爱对象。

18.钱钟书先生对杨绛女士有这样一段评价,后来被社会学家视为理想婚姻的典范: 1、在遇到她以前,我从未想过结婚的事。 2、和她在一起这么多年,从未后悔过娶她做妻子。 3、也从未想过娶别的女人。

19.你攒够四块五,我也攒够四块五,我们就可以去民政局结婚了。

20.个人感觉,在网络上要转向“慢”了,资讯越快,越是要等几天让事实浮现,第一时间人肉,第一时间谴责,第一时间落泪,都无太多必要。

21.我爸面对我发胖一事发表了看法:没有韩红的命,还得了韩红的病。

22.你来我信你不会走,你走我当你没来过。——我们该这样对待缘分与爱。

23.你觉得别人牛B,他不一定觉得你牛B,但你要觉得别人傻B,在他眼里你也是一傻B,所以我认为牛B像单恋,傻B则是两情相悦。

24.“上了年纪最大的好处就是:年轻时得不到的东西,现在你不想要了。”

25.世界上所有男人都是骗子。不管是漂亮还是不漂亮的女人都会被骗。有所不同的是,幸运的女人找到了一个大骗子,骗了她一辈子。 不幸的女人找到了一个小骗子,骗了她一阵子。

26.人最软弱的地方,是舍不得。舍不得一段不再精采的感情,舍不得一份虚荣,舍不得掌声。我们永远以为最好的日子是会很长很长的,不必那麽快离开。就在我们心软和缺乏勇气的时候,最好的日子毫不留情地逝去了。

27.曾以为我是那崖畔的一枝花,后来才知道,不过是人海一粒渣。

28.现在你骂我,是因为你还不了解我,等你以后了解了我,你一定会动手打我的。

29.一日不读书,无人看得出;一周不读书,开始会爆粗;一月不读书,智商输给猪。

30.当前我国女性成功大概有如下四种途径:第一,学好英语,嫁老外。第二,学好英语,出国读书,嫁老外。第三,学好英语,出国读书,学成归国,嫁老外。第四,学好英语,出国读书,学成归国,努力打拼,嫁老外。

31.有的人聪明得像天气,多变;有的人傻得像天气预报,变天它都看不出来。

32.马不停蹄的错过,轻而易举的辜负,不知不觉的陌路。

33.石头记告诉我们:凡是真心爱的最后都散了,凡是混搭的最后都团圆了。

34.如果你不是经常遇到挫折,这表明你做的事情没有很大的创新性-伍迪.艾伦

35.爱情生活里,比找不到安全感更可怕的是什么?是找不到安全套。
36.两个人在一起,更多的不是改变了对方,而是接受了,所以说包容呢,如果光想着改变,那不是生活,那是战争。

37.一切问题最终都是时间问题,一切烦恼其实都是自寻烦恼。

38.人永远不知道谁哪次不经意的跟你说了再见之后就真的再也不见了。

39.很多事都介于“不说憋屈“和“说了矫情“之间。

40.通往成功的路,总是在施工中。

41.【你喜欢我天使的脸孔,还是魔鬼的身材?】【我就喜欢你这种幽默感。】

42.下车时导游小姐说:“请带好您的贵重物品。”他拉着我的手说:“快走,贵重物品”。

43.我不下地狱,谁爱下谁下。

44.猜一句英文:「ABABBBAAAAAABBBABAAAABBBBAABBBAAAAA」?〈答案:Long time no C〉

45.自己选择的路,跪着也要走完

46.我也不是非你不可。你也不是非我不可。真是一场误会。

47.想你的眉目,想到模糊。——突然觉得,思念大都如此,越来越淡

48.广播体操现在开始:╔囧╗╔囧╝╚囧╝╚囧╗╔囧╗╔囧╝╚囧╝╚囧╗╔囧╗╔囧╝╚囧╝╚囧╗╔囧╗╔囧╝╚囧╝╚囧╗╔囧╗╔囧╝╚囧╝╚囧╗╔囧╗╔囧╝╚囧╝╚囧╗╔囧╗╔囧╝╚囧╝╚囧╗

49.在经年后,感叹,那两个少年:一个惊艳了时光,一个温柔了岁月。

50.你永远也无法理解,为了让自己对生活发生兴趣,我们付出了多大的努力。

51.孔子曰,中午不睡,下午崩溃;孟子曰,孔子说的对。

52.9个橙子分给13个小朋友,怎么分才公平?-杀死4个小朋友。

53.如果她(他)对你说:“忘了我吧。”你告诉对方:“我一直没记住。”

54.20岁看体力;30岁看学历;40岁看经历;50岁看智力;60岁看病历;70岁看日历;80岁看黄历;90岁看舍利。

55.史上最神秘的部门:有关部门;史上最神秘的人:知情人士;史上最权威的人:砖家叫兽。

56.“恋”是个很强悍的字。它的上半部取自“变态”的“变”,下半部取自“变态”的“态”。

57.就算是一坨屎,也有遇见屎壳郎的那天。

· 平安银行忽悠人

2009年06月26日 11:38

平安银行宣布全球ATM取款和网银汇款免费。由于网站和新闻的内容不一致,本想证实一下。拨打平安的电话40066 99999 居然是空号。分别向电信和联通证实,确实无发拨通。

联通告知:400开头的电话是分时段的。可是现在是上午11点。难道也在这个时段外?

平安的客户电话忽悠了人,我看他们平安银行个人业务也好不了那里去哦。至少不够专业和成熟吧。

本来想尝试一下的。只能说886

 

新闻原文:

网易财经6月25日讯 平安银行宣布,从7月1日起平安银行借记卡全球ATM取款免费,个人网上银行汇款免费。另外,平安银行承诺在使用网银过程中,非客户过错损失的将会赔偿。
平安银行表示,个人客户持该行发行的借记卡在全球任何一台有银联标识的ATM上查询、取现免费,该行发行的有万事达标识的国际借记卡在全球任何一台有万事达标识的ATM上查询、取现同样免费。
同时,该行个人客户通过平安银行个人网上银行、电话银行进行同城或异地、行内及跨行等转账、汇款均不收取手续费。
在此基础上,平安银行还承诺客户使用该行个人网上银行和电话银行的安全保障:客户使用该行个人网上银行、电话银行过程中因银行责任造成客户资金损失以及客户被不法分子盗取密码和手机验证码造成的银行账户内资金损失,均可由平安银行负责赔偿。
平安银行副行长张耀麟表示,平安银行本次推出的三项服务承诺破解了一直制约电子银行渠道发展的安全和费用两个难题,降低用户交易的风险成本和费用成本。
业内人士分析表示,电子银行渠道发展将有助于银行分流柜面压力,缓解网点停车、排队的压力,降低客户交易成本,还将打破股份制商业银行与四大行竞争中的网点弱势,优化市场竞争态势,从而带动整个金融市场服务水平的提升。
无独有偶。日前,花旗银行宣布5月1日起网上银行转账手续费全免,光大银行也宣布网上银行转账手续费打三折、中行网银业务也开始降价,甚至包括近日因上调23项个人业务收费而备受质疑的工行,也在6月8日下调了部分电子银行业务的收费标准。一场电子银行的 收费价格战已经悄然打响。

· 解密CSS Sprites

2009年06月21日 20:14
CSS Sprites并没有一个确定的中文翻译,通常被意译为“CSS图像拼合”或“CSS贴图定位”。CSS Sprites并不是一门新技术,目前它已经在网页开发中发展得较为成熟。CSS Sprites并不是什么金科玉律,但在很多情况下,它有着一定的优势,最重要的是它可以减轻服务器的负载,提高网页加载速度。 (..More)

· 美国财政部:意大利查获的千亿美债券完全是伪造的

2009年06月21日 11:03

dd

据中国之声《新闻纵横》7时05分报道,这个月初,一列意大利开往瑞士的火车上,满车厢去瑞士打工的劳工中,两名衣着光鲜的日本男子和他们身边一只神秘的手提箱,引来了警察的“特别关注”。随后,警方在他们的手提箱里发现了暗格,里面竟然藏有1345亿美 国债券!
1345亿,这个数字超过了英国目前所持有的美国国债,仅次于俄罗斯,排名世界第四。如果打个比方,这是足够举办3个北京奥运会的钱数。如果可以的话,拿着它便可以买下斯洛伐克和克罗地亚,剩下的钱还能再买一个蒙古或者柬埔寨。
意大利紧急求助美国鉴别债券真伪 美国财政部回应:统统是“山寨”!
美食频道即将推出
数额太大,情况突然,意大利警方搞不清这些巨额债券究竟是真是假?因而也就不知道这究竟是一笔“飞来横财”,还是一起“飞来横祸”?目前,意大利方面已经向美国求助鉴别债券的真伪。那么,作为直接的受害者,美国方面又有怎样的反应呢?中国之声连线中国国际 广播电台驻美国记者韩曙——
记者:是这样,目前美国财政部的发言人已经对这个事件作出了回应,他表示说,这些债券明明白白是伪造的。他的理由是:不管是数量还是面值,这些债券都超过了令人相信的程度,他说,这些人手里拿的都是无记名债券,而美国从1982年开始停发了这种债券。根据 美国财政部的记录显示,目前美国还没有兑现的无记名债券有1亿零500万美元左右,也就是说,即使这两个人手里集中了目前所有的无记名债券,数量也只不过是这一次意大利从他们的箱子里找到的1345亿美元的千份之一。
记者:另外,这些债券的面值显得非常离谱,根据意大利警方透露的消息说,这两名日本人持有的债券中有245张的面额竟然写着5亿美元,另外还有10张债券加起来的金额超过了十亿美元。这些债券上面的防伪标记也有问题,根据这两名日本人说,这些债券上用的防 伪标志是肯尼迪,而美国财政部发言人说,美国从来没有发行标记是肯尼迪的债券,而且美国早在上世纪的80年代,就开始采用电子防伪技术,并且逐步将市场上的债券替换成了电子防伪技术的债券,综合这些因素考虑,美国的财政部认为这些债券是不折不扣的假货。
现在美国官方的检测结果出来没有,这些美国债券到底是真是假?
如果“千亿美国债券”最终流入将会带来市场巨大冲击
意大利人关心这些债券是真是假,现在已经不是问题。但是美国人显然更关注这些“山寨债券”到底是从哪儿来的?是谁在幕后操作?他们造假的动机是什么?如果千亿美国债券没有被侥幸截获,而是最终流入了市场,又会带来什么级别的震动?著名财经评论人、《华夏时 报》总编辑水皮分析说:
水皮:如果这件事是真的,一旦他们向一些金融机构兜售成功,对于金融市场的破坏作用是很大的。这种地下金融暗流对市场真的有意想不到的影响,很可能会引起大家的恐慌。因为大家不知道一下子出来这么多债券意味着什么,会对市场有多大冲击,如果收益率下降的话 ,大家对这个市场的前景会产生一定恐慌。美元的安全性对我们来说也还最关心的问题,因为中国目前是美国最大的债权国,我们拥有的美国国债多达几千亿,我们借出去的钱是不是安全,会不会贬值是我们最关心的问题。
这起离奇的案件,让我们想起二战时期,纳粹德国试图通过伪造英镑来搞垮英国经济。难道这一次,是有人想通过伪造美国债券扰乱市场,进而动摇世界对美元储备货币的信心吗?这个迷团恐怕只能从那两个日本人身上追踪答案了。

· 国务院决定在境内证券市场实施国有股转持政策

2009年06月20日 12:01

新华网北京6月19日电 (记者 韩洁 罗沙) 记者19日从财政部和中国证监会获悉,国务院近日决定,在境内证券市场实施国有股转持(新浪财经注:细则请参见实施办法全文),即股权分置改革新老划断后,凡在境内证券市场首次公开发行股票并上市的含国有股的股份有限公司,除国务院另有规定的,均须按首次公开发行时实际发行股份数量的10%,将股份有限公司部分国有股转由全国社会保障基金理事会持有,全国社会保障基金理事会对转持股份承继原国有股东的禁售期义务。

财政部和证监会有关负责人指出,划转部分国有股充实社保基金是落实党的十六届三中全会和十七大报告中关于通过多种渠道筹集社保基金精神的重要措施,是未雨绸缪、积极应对未来人口老龄化高峰时期养老金缺口的实际行动,是加快社会保障体系建设、构建社会主义和谐社会的重大举措。

全国社会保障基金理事会是我国证券市场的一个重要投资机构,奉行长期投资、价值投资、责任投资的投资理念。划转部分国有股充实社保基金,并对股权分置改革新老划断至转持政策颁布前首次公开发行股票并上市股份有限公司转由全国社会保障基金理事会持有的股份,在承继原国有股东禁售期的基础上延长三年禁售期,将有利于增强投资者信心,有利于我国证券市场的长期稳定健康发展。

· Google App Engine 数据丢失?

2009年06月09日 12:17

在Google App Engine上开发的时候,出现了一个非常奇怪的现象。

有些数据不知道为什么,在App  Engine 的后台可以看到那些数据,索引显示是正在服务(Serving),可是前台就是无法显示出来。

进一步跟踪发现,如果设置了Entry.all.filter(‘name = ’name).order(‘-date’)就无法显示。而设置为Entry.all.filter(‘name = ’name).order(‘date’),则可以正常显示。(声明:两种模式的索引都是建立了的)

在App Engine的后台,使用Select * from Entry where name=‘google’ order by date desc,则无法显示数据,使用Select * from Entry where name=‘google’ order by date,则可以正常显示数据。

目前,尚不清楚这个是什么原因。

是不是?Serving,这个状态显示有误?

幸好,我的所有数据都是程序自动上传的。也不怎么担心了。可是下次怎么办啊?期待Google给出解决方案吧。

另外,就是早日支持数据备份和恢复。GEABar这个插件不支持Google的那个WebFramework。

· Django中的循环

2009年06月09日 10:35

Django不支持退出循环操作。如果我们想退出循环,可以改变正在迭代的变量,让其仅仅包含需要迭代的项目。同理,Django也不支持continue语句,我们无法让当前迭代操作跳回到循环头部。(请参看本章稍后的理念和限制小节,了解下决定这个设计的背后原因)

{% for %} 标签在循环中设置了一个特殊的 forloop 模板变量。这个变量能提供一些当前循环进展的信息:

forloop.counter 总是一个表示当前循环的执行次数的整数计数器。这个计数器是从1开始的,所以在第一次循环时 forloop.counter 将会被设置为1。例子如下:

{% for item in todo_list %}
<p>{{ forloop.counter }}: {{ item }}</p>
{% endfor %}

forloop.counter0 类似于 forloop.counter ,但是它是从0计数的。第一次执行循环时这个变量会被设置为0。

forloop.revcounter 是表示循环中剩余项的整型变量。在循环初次执行时 forloop.revcounter 将被设置为序列中项的总数。最后一次循环执行中,这个变量将被置1。

forloop.revcounter0 类似于 forloop.revcounter ,但它以0做为结束索引。在第一次执行循环时,该变量会被置为序列的项的个数减1。在最后一次迭代时,该变量为0。

forloop.first 是一个布尔值。在第一次执行循环时该变量为True,在下面的情形中这个变量是很有用的。

{% for object in objects %}
{% if forloop.first %}<li class="first">{% else %}<li>{% endif %}
{{ object }}
</li>
{% endfor %}

forloop.last 是一个布尔值;在最后一次执行循环时被置为True。一个常见的用法是在一系列的链接之间放置管道符(|)

{% for link in links %}{{ link }}{% if not forloop.last %} | {% endif %}{% endfor %}

The above template code might output something like this::

Link1 | Link2 | Link3 | Link4

3.

forloop.parentloop 是一个指向当前循环的上一级循环的 forloop 对象的引用(在嵌套循环的情况下)。例子在此:

{% for country in countries %}
<table>
{% for city in country.city_list %}
<tr>
<td>Country #{{ forloop.parentloop.counter }}</td>
<td>City #{{ forloop.counter }}</td>
<td>{{ city }}</td>
</tr>
{% endfor %}
</table>
{% endfor %}

forloop 变量仅仅能够在循环中使用,在模板解析器碰到 {% endfor %} 标签时, forloop 就不可访问了。

Context和forloop变量

在一个 {% for %} 块中,已存在的变量会被移除,以避免 forloop 变量被覆盖。Django会把这个变量移动到 forloop.parentloop 中。通常我们不用担心这个问题,但是一旦我们在模板中定义了forloop 这个变量(当然我们反对这样做),在 {% for %} 块中它会在 forloop.parentloop 被重新命名。
for
轮询数组中的每一元素。例如显示一个给出的运动员的序列``athlete_list``:
<ul>
{% for athlete in athlete_list %}
<li>{{ athlete.name }}</li>
{% endfor %}
</ul>
你同样可以反过来用``{% for obj in list reversed %}``轮询一个列表。
``for``循环设置了许多循环中有用的变量(见表F-1)。
Inline literal start-string without end-string.
表 F-1. {% for %}循环中的可用变量
变量名描述
forloop.counter 循环的当前重复值 (标示为1)。
forloop.counter0 循环的当前重复值 (标示为0)。
forloop.revcounter 循环到最后的重复数 (标示为1)。
forloop.revcounter0 循环到最后的重复数 (标示为0)。
forloop.first 第一次循环则为``True``。
forloop.last 最后一次循环则为``True`` 。
forloop.parentloop 用于嵌套循环,该循环位于当前循环之上。

· 微软DirectShow爆严重漏洞 专家支招防范措施

2009年06月03日 12:38

5月31日消息,据安全软件厂商瑞星透露,微软公司近日向MAPP伙伴公布其DirectShow软件中存在的一个严重漏洞,利用该漏洞的挂马网站已经在互联网上出现,用户浏览这些网站后就会中毒。作为中国大陆地区的MAPP合作伙伴,瑞星公司在收到 微软提供的相关技术资料后,针对此漏洞进行了紧急分析,并通过其“云安全”系统成功截获了利用该漏洞的挂马网站。


目前微软还没有为该漏洞提供补丁。DirectShow是微软发布的用于流媒体处理的开发包,与DirectX打包发布,目前几乎所有的windows系统中都默认集成了DirectX程序,因此也同样存在该漏洞。但是由于系统操作机理不同,在不同的 操作系统中,该漏洞的危险性存在差异。


安全专家介绍,此次发现的漏洞属于ActiveX溢出漏洞攻击,但与以往略有不同的是,此漏洞触发溢出点需要一个被黑客修改的畸形AVI等多媒体视频文件做为协助。也就是说,黑客通常会在挂马网站中植入经过恶意修改的AVI等多媒体视频文件,用户浏览 该网站后就会被植入木马。


目前,微软公司仅仅向MAPP成员发送了漏洞的相关技术资料,尚未提供漏洞补丁,用户可以手动修复自己的电脑,防范挂马网站的攻击。


由于此漏洞需要有经过恶意修改过AVI视频文件进行辅助,所以可能导致的影响范围将非常大,安全专家提醒网民防范.

Windows Vista 和 Windows Server 2008 的所有版本不受此问题的影响。

· 友情链接QQ群

2009年06月03日 12:18

真诚奉献给大家,若有新群或者什么遗漏的群,请留言:

友情链接q群:1043328
友情链接qq群:20456772
友情链接qq群:42031570     44502278
友情链接q群:42621615

链接交换群:3808534
广告或友情链接交流QQ群:3038113
QQ友情交换群:9947866
网站链接QQ群:19490001
站长友情链接群:13280603
搜索技术联盟群:16319502
四川站长联盟QQ群:9471210 5249615
QQ群:9044820 站长交流,网站推广
智胜流量联盟QQ群:12183588
皓月站长联盟QQ群:2134948
链接交换群:18729456
站长成长群号:12631709
网站宣传联盟:19670354
站长互助增IP流量群:9662961
网站运营经验交流群:355200
友情交换QQ群:2077131 7048782 3546000
免费增流量、提升网站排名:20190534
交换友情连接:8323190
中国站长群:15258000 11866025 11866060
友情链接群:20754517
站长流量排名研究群:21304914
浙江站长联盟QQ群:17028843
全网友情链接Q群:6420616
友情链接大本营QQ群:15554816
智库友情链接基地:18425746
交换链接QQ群:3369194
中国站长联盟群:6263565  
QQ友情链接群:6420616
高端网站链接QQ群:14913916  
网站交换链接群:16730995
网站技术交流群:3755508 3755908
站长互动QQ群 :12458056
广告交换QQ群:13777222
网址导航QQ群:11426817
链接交换区QQ群:6766105
上海站长群:15505085
新建站长QQ群:18861217
友情连接群:8655387
站长交流群:101195 网页设计,网站维护
山西站长联盟QQ群:11322750
交换链接:547096910
中国站长联盟群:17588007
链接交换群:20109362 免费电影技术群
友情链接QQ群:12126373
QQ友情交换群:1707598
赚钱讨论群:17078355
友情连接群:22026504
站长QQ群:20335012
音乐论坛交换连接群:10470450
站长友情链接群:21252123
站长广告互相点击群:22184577
广东企业友情链接群:4734154
友情链接交换群:17965340
Alexa世界排名提升交流群:6634911
网站联盟QQ友情交换群: 21311547
站长连接交换专用群:20377609
网站推广,连接交换群:2972239
强强站长资源合作qq群集:8591017 15746618 15746637
四川站长联盟QQ群:9471210 5249615
湖北站长QQ群:5607431
友情链接群:24606671
站长交流群:547090
站长联盟QQ群:5388129
链接交换群:3374159
QQ友情连接:33797877
区域性网站联盟QQ群:3977004
友情链接QQ群:10122480
广告点出交换群:3834320
友情链接群:25222761
搜索引擎群:11527032
优秀站长QQ群:25506952
网站联盟QQ群:24937685

友情连接QQ群:20571305
网站链接QQ群:13066028
网站流量交换群:26359965
友情联接群:25768252
技术交流群:8204016

链接交换群:3808534
广告或友情链接交流QQ群:3038113
QQ友情交换群:9947866
网站链接QQ群:19490001
站长友情链接群:13280603
搜索技术联盟群:16319502
四川站长联盟QQ群:9471210 5249615
QQ群:9044820 站长交流,网站推广
智胜流量联盟QQ群:12183588
皓月站长联盟QQ群:2134948
链接交换群:18729456
站长成长群号:12631709
网站宣传联盟:19670354
站长互助增IP流量群:9662961
网站运营经验交流群:355200
友情交换QQ群:2077131 7048782 3546000
免费增流量、提升网站排名:20190534
交换友情连接:8323190
中国站长群:15258000 11866025 11866060
友情链接群:20754517
站长流量排名研究群:21304914
浙江站长联盟QQ群:17028843
全网友情链接Q群:6420616
友情链接大本营QQ群:15554816
智库友情链接基地:18425746
交换链接QQ群:3369194
中国站长联盟群:6263565 讨论网站如何盈利
QQ友情链接群:6420616
高端网站链接QQ群:14913916 PR为5以上的请进
网站PR值>=3的,想交换链接的,可以加入群:16730995
网站技术交流群:3755508 3755908
站长互动QQ群 :12458056
广告交换QQ群:13777222
网址导航QQ群:11426817
链接交换区QQ群:6766105
上海站长群:15505085
新建站长QQ群:18861217
友情连接群:8655387
站长交流群:101195 网页设计,网站维护
山西站长联盟QQ群:11322750
交换链接:547096910
中国站长联盟群:17588007
链接交换群:20109362 免费电影技术群
友情链接QQ群:12126373
QQ友情交换群:1707598
赚钱讨论群:17078355
友情连接群:22026504
站长QQ群:20335012
音乐论坛交换连接群:10470450
站长友情链接群:21252123
站长广告互相点击群:22184577
广东企业友情链接群:4734154
友情链接交换群:17965340
Alexa世界排名提升交流群:6634911
网站联盟QQ友情交换群: 21311547
站长连接交换专用群:20377609
网站推广,连接交换群:2972239
强强站长资源合作qq群集:8591017 15746618 15746637
四川站长联盟QQ群:9471210 5249615
湖北站长QQ群:5607431
友情链接群:24606671
站长交流群:547090
站长联盟QQ群:5388129
链接交换群:3374159
QQ友情连接:33797877
区域性网站联盟QQ群:3977004
友情链接QQ群:10122480
广告点出交换群:3834320
友情链接群:25222761
搜索引擎群:11527032
优秀站长QQ群:25506952
网站联盟QQ群:24937685 站长赚钱
友情连接QQ群:20571305
网站链接QQ群:13066028
网站流量交换群:26359965
友情联接群:25768252
技术交流群:8204016
QQ友情链接群号码:26068662
网站链接QQ群:10553013

高端网站链接QQ群:14913916 这个错了吧 这个是我的QQ群 我郁闷了每天都有连接请求 麻烦楼主看好了在写上去。

哈我们的友情链接群77757833,交换链接、链接交流,欢迎大家加入本高级群

· 用python写个爬虫玩玩

2009年06月03日 10:48

在网上搜到几篇python爬虫的文章,很多都没有根据链接数目来决定优先级,对相对地址的URL也是硬编码的多,因此就自己写个爬虫来玩玩。

这个python爬虫代码的特点有:

  1. 按优先级高低顺序抓取网页。
  2. 使用默认的类似PageRank优先级,越多网页链接到的页面优先级越高,允许自定义优先级,如优先抓取以.html结尾的URL,或含有指定网址的URL。
  3. 自动识别相对地址的URL,避免硬编码

本爬虫包含两个文件:

  1. Myspider.py 实现爬虫主要逻辑的代码
  2. spdUtility.py 两个Utility辅助类,优先级队列类和HTML解释类

# -*- coding: utf-8 -*-

#author:Keengle(http://www.kgblog.net)

from spdUtility import PriorityQueue,Parser

import urllib2

import sys

import os

def updatePriQueue( priQueue, url ):

"更新优先级队列"

    extraPrior = url.endswith('.html') and 2 or 0 #这里优先下载以html结尾的url

    extraMyBlog = 'www.kgblog.net' in url and 5 or 0 #优先抓取含有指定内容的网页,竞价抓取排名??

    item = priQueue.getitem(url)

if item :

        newitem = ( item[0]+1+extraPrior+extraMyBlog, item[1] )

        priQueue.remove(item)

        priQueue.push( newitem )

else :

        priQueue.push( (1+extraPrior+extraMyBlog,url) )

def getmainurl(url):

"获得该url的主站地址,用于添加在相对url地址的开头"

    ix = url.find('/',len('http://') )

if ix > 0 :

return url[:ix]

else :

return url

def analyseHtml(url,html, priQueue,downlist):

"分析html的超链接,并更新优先级队列"

    p = Parser()

try :

        p.feed(html)

        p.close()

except:

return

    mainurl = getmainurl(url)

for k, v in p.anchors.items():

for u in v :

if not u.startswith('http://'):  #处理相对地址的url

                u = mainurl + u      

if not downlist.count(u) :    #如果该url已经下载,就不处理了

                updatePriQueue( priQueue, u )

def downloadUrl(id, url, priQueue , downlist,downFolder):

"下载指定url内容,并分析html超链接"

    downFileName = downFolder+'/%d.html' % (id,)

print 'downloading',url,'as', downFileName ,

try:

        fp = urllib2.urlopen(url)

except:

print '[ failed ]'

return False

else :

print '[ success ]'

        downlist.push( url )  #把已下载的url添加到列表中

        op = open(downFileName,"wb")

        html = fp.read()

        op.write( html )

        op.close()

        fp.close()

        analyseHtml(url,html,priQueue,downlist)

return True

def spider(beginurl, pages,downFolder):

"爬虫主程序,循环从优先级队列中取出最高优先级的结点处理"

    priQueue = PriorityQueue()

    downlist = PriorityQueue() #已下载url的集合,防止重复下载

    priQueue.push( (1,beginurl) )

    i = 0

while not priQueue.empty() and i < pages :

        k, url = priQueue.pop()

if downloadUrl(i+1, url, priQueue , downlist,downFolder):

            i += 1

print '\nDownload',i,'pages, Totally.'

def main():

"主函数,设定相关参数:开始url,抓取的网页数目,保存的文件夹"

    beginurl = 'http://www.kgblog.net' #开始抓取的URL地址

    pages = 20 #抓取网页的数目

    downloadFolder = './spiderDown' #指定保存网页的文件夹

if not os.path.isdir( downloadFolder ):

        os.mkdir( downloadFolder )

    spider( beginurl, pages, downloadFolder)

if __name__ == '__main__':

    main()

#filename:spdUtility.py

# -*- coding: utf-8 -*-

import bisect

import string

import htmllib

import formatter

class PriorityQueue(list):

"优先级队列,用于存储url,及它的优先级"

def __init__(self):

        list.__init__(self)

self.map = {}

def push(self, item):

# 按顺序插入,防止重复元素;若要按升序排列,可使用bisect.insort_left

if self.count(item) == 0:

            bisect.insort(self, item)

self.map[ item[1] ] = item

def pop(self):

        r = list.pop(self)

del self.map[ r[1] ]

return r

def getitem(self,url):

if self.map.has_key( url ):

return self.map[url]

else :

return None

def empty(self):

return len(self) == 0

def remove(self,item):

        list.remove(self, item)

del self.map[ item[1] ]

def count(self,item):

if len(self) == 0 :

return 0

#二分查找

        left = 0

        right = len(self)-1

        mid = -1

while left <= right:

            mid = (left+right)/2

if self[mid] < item :

                left = mid + 1

elif self[mid] > item :

                right = mid -1

else :

break

return self[mid] == item and 1 or 0

class Parser(htmllib.HTMLParser):

# HTML分析类   

def __init__(self, verbose=0):

self.anchors = {}

        f = formatter.NullFormatter()

        htmllib.HTMLParser.__init__(self, f, verbose)

def anchor_bgn(self, href, name, type):

self.save_bgn()

self.anchor = href

def anchor_end(self):

        text = string.strip(self.save_end())

if self.anchor and text:

self.anchors[text] = self.anchors.get(text, []) + [self.anchor]

def main(): #just for test

    pq = PriorityQueue()

# add items out of order

    pq.push( (1,'http://www.baidu.com') )

    pq.push( (2,'http://www.sina.com') )

    pq.push( (3,'http://www.google.com') )

    pq.push( (1,'http://www.163.com') )

    item = pq.getitem('http://www.sina.com')

print item

print pq.count(item)

    pq.remove( item )

print pq.count(item)

# print queue contents

while not pq.empty():

print pq.pop()

if __name__ == '__main__':

    main()

注:转载请注明出处http://www.kgblog.net

sidebartop

博客公告

sidebarbottom
sidebartop

分类杂谈

sidebarbottom
sidebartop
sidebarbottom
sidebartop
sidebarbottom
sidebartop

最近评论

  • Keep on goin: 我因为看了广告结果去办了平安银行的卡<b...
  • Going on: 我因为看了广告结果去办了平安银行的卡<b...
  • Going on: 我因为看了广告结果去办了平安银行的卡<b...
  • kingmq: 金胖子十分可笑...
  • gwf007: 中国彩票绝对是中国“制造”业的最高水平。...
sidebarbottom
sidebartop
sidebarbottom
sidebartop

标签

友情链接

sidebarbottom