
1 SR1 2013 年 7 月 20 日 会不会是你发起连接过多, 被服务器限制了或者服务器本身性能不佳所以卡住了 你设置一下超时时间,如果超时的话重新发起一次请求试试 |
2 yuelang85 2013 年 7 月 20 日 同意1楼,设定下超时看看? 别的问题没看出来,看出两个地方有性能问题: 第一个: 22行:你这里字符串拼接用的是 加法,这样会导致产生八十多个字符串对象,而且第N+1号字符串是第N号字符串超集。如果文本够大,你这个将会严重侵占内存。建议改成这种形式(行首句点表示缩进): result = [] for line in response: ....result.append(line) result_str = ''.join(result) 第二个,37行,三处问题。 1,range这个函数会生成list对象,浪费,建议使用xrange,他生成 迭代器,可以提高速度。 2,i这个变量,实际上是做为坐标取birthdayRange的值,那么这里就没有必要len(birthdayRange),而且还range一下。直接for i in birthdayRange,迭代birthdayRange的各个元素。 3,range(len(birthdayRange))在这种上下文中,用起来不好(xrange也是),比较高效的用法: i = 0 max = len(birthdayRange) while i < max: #这里用max是因为如果直接用len(),len函数会被调用len(birthdayRange) 遍。 ....pass #该干啥干啥 ....i+=1 如果你又需要序号i,有需要使用birthdayRange的元素,那么用enumerate。 |
3 pubby 2013 年 7 月 20 日 via Android 抓取这种活,不要太爆力,自觉保持一个正常点的频率。 |
5 Zuckonit 2013 年 7 月 22 日 strace 看一下 |
6 z50hz1988 2013 年 7 月 22 日 用代理哇... 少年! 偷东西你还大义凛然的... 这样不好吧. |