【Python爬虫】设置爬虫间隔 模拟用户行为

设置方法

很多网站的反爬虫机制都设置了访问间隔时间,一个IP如果短时间内超过了指定的次数就会进入“冷却CD”,所以除了轮换IP和user_agent
可以设置访问的时间间间隔长一点,比如没抓取一个页面休眠一个随机时间:

import time
import random
time.sleep(random.random()*3)

对于一个crawler来说,这是一个比较可靠的做法。 因为本来爬虫就可能会给对方网站造成访问的负载压力,所以这种防范既可以从一定程度上防止被封,还可以降低对方的访问压力。有些网址不是封IP,是直接把mac地址给干掉了,再也无法访问其数据了。保险起见,设置睡眠时间。参考文章中的代码直接粘贴有一点点问题,已在上面做了更改。

知识补充

其中random() 方法返回随机生成的一个实数,它在[0,1)范围内。

#!/usr/bin/python
import random
# 生成第一个随机数
print "random() : ", random.random()

# 生成第二个随机数
print "random() : ", random.random()

#输出结果
random() :  0.281954791393
random() :  0.309090465205

其中Python time sleep() 函数推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间。

#!/usr/bin/python
import time
 
print "Start : %s" % time.ctime()
time.sleep( 5 )
print "End : %s" % time.ctime()

#输出结果为:
Start : Tue Feb 17 10:19:18 2013
End : Tue Feb 17 10:19:23 2013

参数t的单位是秒。

你可能感兴趣的:(Python,网络爬虫)