【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的单位是秒。

  • 12
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值