2012年1月9日
摘要: Python中的decorator用法很有意思,是一个类似decorator模式的典型的AOP特性。例如我们原来有一个函数是这样的:def openurl(url): return urllib2.urlopen(url, timeout = 5).read()如果我们想在进入这个函数和退出这个函数的时候打印日志,可以这样写:def openurl(url): print 'entering openurl' result = urllib2.urlopen(url, timeout = 5).read() print 'leaving openurl' ret 阅读全文
posted @ 2012-01-09 00:17 熊猫凶猛 阅读(410) 评论(0) 推荐(1) 编辑
  2012年1月8日
摘要: 这篇博客搬家到这里了。 阅读全文
posted @ 2012-01-08 04:19 熊猫凶猛 阅读(154) 评论(0) 推荐(0) 编辑
  2012年1月4日
摘要: 这篇文章已经搬家到这里了。 阅读全文
posted @ 2012-01-04 16:48 熊猫凶猛 阅读(190) 评论(0) 推荐(0) 编辑
  2012年1月3日
摘要: 现在至少在我们这个行业,人才仍然是最重要的资产,所有的公司都面临着招人难的问题,虽然每天都会收到很多简历。主要原因,是因为牛人确实很少出现在公开的招聘市场上,他们当前获得的个人回报已经相当高,或者即使要找新的工作,也容易找到。当然,从另一方面来说,也说明市场上不满足企业要求的人太多,对这些同学来说,也许需要一些方法来改变自己,以达到企业的用人标准。从企业方面来说,面试技术人才变得非常麻烦,因为这需要花费大量的精力,还要维护一些题库并不断更新。就我个人经验来说,我希望新加入团队的人能有下面的特性:人品好。这是最重要的,主要包括诚信可靠、乐于沟通、追求完美、喜欢动手,同时在解决实际问题的时候也能知 阅读全文
posted @ 2012-01-03 10:54 熊猫凶猛 阅读(190) 评论(0) 推荐(0) 编辑
  2012年1月2日
摘要: 本篇文章已经搬家到这里来了,我的个人博客,风格我自己更喜欢,也可以完全控制。当然,会花一点钱,但是基本能承受。欢迎各位来观光,博客园很棒,但是有一个自己能控制的网站也许会更好。另外,不能发表任何与ZZ相关的内容,可能有时候也会误杀?不管如何,在博客园里我发表了第一篇博客,虽然现在搬家了,仍然非常喜欢这里的。Windows Scripting Host能够做很多东西,如果再加上熟悉的Javascript语言,其实完全可以做Windows下的shell程序了。如果愿意加上HTML/CSS,做成一个HTA,也是非常犀利的。虽然现在微软亡羊补牢,推出了Power Shell,但是Power Shell 阅读全文
posted @ 2012-01-02 14:57 熊猫凶猛 阅读(254) 评论(0) 推荐(0) 编辑
  2012年1月1日
摘要: 在平时工作中时常需要对网站进行自动化测试,虽然一些简单的测试可以通过爬虫的方式来做,但是如果涉及到比较复杂的js和CSS渲染的话,就必须使用真正的浏览器了。毕竟自己实现HTML DOM解析还相对容易,但是如果做上述工作就太麻烦了。由于我们网站90%以上的用户用的都是IE,而有一些代码也是特定于IE的,因此在测试的时候,必须要对IE进行自动化测试。当然,大部分代码对各个浏览器都是兼容的,因此也可以采用其他更自动化,兼容性更广的方法来进行Web测试。在Windows下进行自动化测试,个人觉得最合适的方法就是WSH+javascript了,可以使用WScript对象和众多ActiveX组件来完成诸多 阅读全文
posted @ 2012-01-01 14:46 熊猫凶猛 阅读(414) 评论(0) 推荐(0) 编辑
  2011年12月31日
摘要: 博客转移至这里了。 阅读全文
posted @ 2011-12-31 21:19 熊猫凶猛 阅读(146) 评论(0) 推荐(0) 编辑
  2011年12月30日
摘要: 在使用python抓取网页的过程中,有的时候需要执行某些简单的javascript,以获得自己需要的内容,例如执行js里面的document.write或者document.getElementById等。自己解析js代码显然有点吃力不讨好,因此最好能找到一些可以解析执行js的python库。google之可以找到三个候选者,分别是微软的ScriptControl,v8的python移植PyV8,还有SpiderMonkey的Python移植Python-Spidermonkey。其中ScriptControl只能在windows上运行,需要win32com库;PyV8能在windows和*n 阅读全文
posted @ 2011-12-30 11:20 熊猫凶猛 阅读(13666) 评论(0) 推荐(1) 编辑
  2011年12月29日
摘要: Python里常用的网页解析库有BeautifulSoup和lxml.html,其中前者可能更知名一点吧,熊猫开始也是使用的BeautifulSoup,但是发现它实在有几个问题绕不过去,因此最后采用的还是lxml:BeautifulSoup太慢。熊猫原来写的程序是需要提取不定网页里的正文,因此需要对网页进行很多DOM解析工作,经过测试可以认定BS平均比lxml要慢10倍左右。原因应该是libxml2+libxslt的原生C代码比python还是要更快吧BS依赖python自带的sgmllib,但是这个sgmllib至少有两个问题。首先,它解析“class=我的CSS类”这样的字符串会有问题,参 阅读全文
posted @ 2011-12-29 14:39 熊猫凶猛 阅读(8607) 评论(0) 推荐(3) 编辑
摘要: 抓取网页过程中,软件的性能瓶颈当然是网络连接,这是第一时间可以想到的。此外,通过cProfile.run和pstats.Stats,也可以清楚地看出来。一般来说,可以通过下面几个方法来解决这个问题:通过threading与multiprocessing来解决,例如#urls 包含所有需要扫描的URL#lists包含每个线程扫描的结果的列表的列表lists = []threads = []for i in range(10): temp = [] lists.append(temp) t = threading.Thread(target = check_page, args ... 阅读全文
posted @ 2011-12-29 08:23 熊猫凶猛 阅读(1057) 评论(0) 推荐(0) 编辑