创新
CUrl 蜘蛛 优化 CURLOPT_HEADERFUNCTION
正搞一个小蜘蛛,用 CUrl 写的,遇到一个问题,分析完 url 后,有可能遇到 rar 或 jpg 等资源文件,也是要下载回来分析内容。
这样的做法太笨了,有很多缺点:
- 浪费带宽,文件也许很大
- 文件无用,下载回来也无法分析文件内容
怎么解决?
看浏览器会发送 Accept 指令,告诉服务器可接受的内容类型,但这不能阻止服务器返回不接受的内容,即哪怕请求的资源不在 Accept 列表中,仍然会把文件返回给客户端。
这方法不行。
想着,有没有办法,在得到服务器 response 的时候先分析 header,如果不是可接受的类型,就断掉连接,不必下载后续内容?
如果用 fsockopen 写的网络通讯接口,这一点很好实现。但 CUrl 怎么控制?
仔细看文档,找到一个选项 CURLOPT_HEADERFUNCTION。
这个选项要给一个回调函数作为参数,回调函数相当于一个触发器,CUrl 会把每一条 response 的 header 指令传给这个函数,由函数来决定如何执行后面的步骤。
回调函数要定义 2 个参数,第 1 个是 CUrl 的资源标识符,第 2 个是单独的一条 header 字符串。
如果想让 CUrl 继续下载后续内容,那么回调函数应该返回 header 字符串的长度:
return strlen($strOneHeader);
如果不想继续下载,直接返回数字 0,那么 CUrl 就会发送 TCP 的终止连接的指令,不会继续下载后续内容了。
加上这个触发器,经过测试,我的小蜘蛛可以成功地忽略非 text/html 类型的文件,大大加快了抓取速度,避免了很多问题!
小提示,给 CURLOPT_HEADERFUNCTION 设置回调函数的时候,文档上说要一个字符串形式的函数名作为参数。
这不准确。
实际上 PHP 可以指定任意类型的回调函数,可以是纯函数、类的静态方法和对象的方法:
- 纯函数:$callback = ‘my_callback_func’;
- 类常量:$callback = array(‘NAME_OF_CLASS’, ‘nameOfMethod’);
- 对象方法:$callback = array($object, ‘publicMethod’);
完。
世界因你不同 李开复 创新工场
0《世界因你不同》李开复自传
上周二拿到书,周日看完,每天就像着了迷一样,急迫地想要知道他这非凡的经历是如何走过来的。
确实,这个世界因为他,改变了不少。尤其是在中国这片土地上,微软中国,谷歌中国,都是他一手创建起来。
中学时全州第一的数学成绩,哥伦比亚大学计算机系史上最高毕业成绩,卡耐基·梅隆毕业时间最短的博士,语音识别领域最权威的专家,这一切传奇的经历,让我既羡慕又惭愧,回想自己大学四年中,食堂、网吧、家,这三点一线的生活,我真想从头来过。
我不奢望跟他一样,也不是说人人都要做到跟他一样才算成功,我只是觉得他的成功让我看到了自己虚度的时光。
亡羊补牢为时未晚吧,抓紧现在的每一分钟做更多有意义的事,也算这本自传没有白读。
说到“世界因你不同”,我也挺有感想,我自认为现在正处于有这丰富想象力和创造力的阶段,希望用自己的创新,开发出与众不同的互联网产品。
我听过有人对产品的评论,我希望我的产品也能做到:
- 用过GMail的说:原来邮箱还可以做成这样!
- 用过搜狗输入法的说:原来输入法还可以做成这样!
我设计的产品,不是多么超前的概念,不是多么炫酷的技术,也是一个现在广为人知,但无人留意的一个小小的方面,但仅仅是这一个点上面的思考,我已经积累了3年的时间,对这个产品的理解,也比一般的人要深入得多。
有人建议我,这个时候可以去李开复的创新工场试试呀。
我觉得还不行,我现在能说服别人的只是产品的应用价值,商业价值和盈利模式我还无法肯定。
我觉得最重要的,是产品还没有一个原型,因此就毫无说服力可言。
很多成功的人都说过一些最朴素的话,停留在嘴边的项目,不会成功。任何事都是说起来容易,做起来难,而一件事从无到有,更是难上加难。
我想自己努力,让我的产品从无到有,可以实际运行,并粘住一小部分用户,然后我会带着这个原型去创新工场。
但愿能得到一句“原来 xx 还可以做成这样!”的评价。
不过我现在还是有个疑问,作为一个创业型的项目,尤其是依托在产品人员和技术人员创新思维下的产品,他的盈利模式如何才能被挖掘出来呢?
我不相信马化腾在 1998 年就想到了腾讯今天的盈利模式,也不相信李彦宏在 1999 年就想到了百度今天的盈利模式,我认为中国互联网这两大巨头在大规模盈利之前的共同点是拥有了基数庞大的用户群。有了用户,盈利的方式会很多很多。
与其让一群自封为商业精英的不懂互联网产品和技术的人,主观臆断妄自意淫某产品未来的盈利模式,还不如真正地把自己当做一个最普通的网民,实际地使用一下众多有实际用途的创新产品,我坚信的是,只要产品有用好用,用户就会源源不断。
我知道,有人会对我的这个信念持怀疑态度,说我把创业想得太简单,太天真。我不否认,流行的产品不见得是好产品,好产品也不见得会流行。我的看法是,这句话在某些场合和环境下是事实,但依然有办法有途径,让真正好的产品得到最多用户的认可。我想,做到这一点的过程,才是创业最精彩,最吸引人的过程,这也是创业生活的真正魅力所在!
我想我会做到世界因我不同。
关于创新的浅薄思考
0最近挺忙,忙创新来着,发现一个说创新的好文,不敢独享,转贴共赏:
http://www.web20share.com/2009/03/low_level_of_innovation_ability.html
以下是原文:
关于创新的浅薄思考
每次找到国外出色的web2.0理念网站时,我首先就会看看国内有没有提供类似服务的网站。但是大多数情况下,都没有。网络的这种情况实际上是整个中国创新的缩影,在Interbrand 全球品牌100强和全球创新力前25名也看不到中国企业的身影。
创新对于我们来讲,仿佛既脆弱又奢侈。
一 困局
中国有着世界上最勤劳的人民,也有着最悠长传承的历史,这样一个国家和民族的内涵是毋庸置疑的。
中国从来不缺乏能工巧匠,古中国的四大发明改变了世界的历史,中国现在也并不是没有创新的人才,跨国公司在全球设立研究院的时候,中国都是最受推崇的选择之一。
奇怪的是,这样一个有着悠久历史,灿烂文明,拥有大量人 才的庞大国家,却陷入了创新的匮乏中,这种匮乏在世界文明走入近代史后凸显出来,近一百年间,中国落在了世界变革的后排,而在企业化革新浪潮的滚滚洪流 中,中国的企业也集体失语,没有一家公司能够通过创新而独树一帜做大做强,中国的大企业更多的是规模大而不是核心竞争力强。
在这个不创新就落伍,不变革就消亡的商业社会,中国企业举步维艰,这其中种种因由,引人深思。
二 反思
- 当今中国缺乏产生创新的土壤
中国最悠久的历史传承从某种程度上来说也是最沉重的财富,在几千年岁月中形成的尊老鄙少,重农轻商,厚古薄今,抱全守一的国民心态很难在短期内得到改变,社会文化中鼓励的是稳定和中庸,在这种社会文化中成长起来的国民天生就对变革有着超乎别国的距离感,相对于变革,维持现状才是国民的心理首选。
这种与生俱来的心态在后天的教育中不断得到强化,看看整个国家的教育体制,培养的都是缺乏个性统一标准的人才类型,中国在工业流水线上落后于西方,但在人才流水线的标准化上却从来都是独步世界。
这样的先天环境和后天培养,造就的是一批批听话的执行性人才,而不是激扬的创新性人才,或者说在这个社会中,创新性人才是非主流的存在。
- 当今中国缺乏支持创新的体制
追求利润才是企业的天性,企业变革的目的是为了追求更多的利润,这种赤裸裸的经济杠杆是西方创新的源动力。但是这种杠杆却不能在中国得以挥洒自如。
中国的企业是在非自由经济的社会制度下的扭 曲存在。国有企业承载着制度的要求和国民的生计,在各方的利益冲突下踟蹰反复,在变革的时候顾虑重重,而国有企业不以利润为最终考量的企业目的性也就决定 了其在核心上就缺乏创新的源动力,相对于变革的巨大风险和变革后的不确定回报,国企巨大的身躯举步维艰。私有制企业在中国的发展状况则更加艰难,非自由经 济的市场环境下,了解市场的人未必是最后的赢家,国家政策的调整永远是凌驾于市场的存在,谁也不知道以后的政策会是什么样子,创新的利润回报固然诱人,但 生命脆弱的私有制经济很可能在一次政策调整或政府行为中就消失在人们的视野中,倾颓的废墟让后来人触目惊心,变革的阵痛之于社会是一个阶段的必然,而之于 个人和企业则是难以承受的生命之重。
- 当今中国缺乏保护创新的机制
当个性成为社会文化的非主流,变革成为不可 预测的未来时,创新也就成了这个社会的奢侈,如果先行者并没有好处,那做一个跟随者无疑可以获得更大的收益。而对于知识产权保护的法律法规的缺乏,也加剧 了跟随心理的影响。当一个新生事物推出的时候,其他人都在观望,如果不幸夭折,大家纷纷庆幸那不是自己并无情的嘲弄失败者,如果顺利成长,则几乎毫不费力 的就可以模仿并分上一大杯甜羹,这种社会性的投机心理是创新者的沙漠,是奸巧人的温床。所以我们才会有那么少的创新,却又有那么强大的模仿。
三 悲歌
缺乏土壤,新生事物先天不良,缺乏支持,改变后天乏力,没有保护,变革脆弱不堪,如此糟糕的环境,如何能强求企业创新呢?加上全民性的短视和变革时期社会经济中充满的原罪,这些都让我们很难找到一个榜样式的企业,这不仅是中国企业的悲哀,也是中国社会的悲哀。
唯一可以欣慰的是,即使是如此恶劣的环境,仍有企业在奋力前行,这些企业是鼓励我们向前看的希望,是让我们觉得温暖的感动,我真诚的希望,社会在缓慢温和的变更中会不断的完善,我希望看到听到更多这样积极的讯息,而不是不断奏响的企业的挽歌。

