python秒数转化为时间、不足一分钟按照一分钟算_让python每20页爬网一次,让它休眠60秒...

我正在尝试收集新浪微博的转发数据,可以看到下面的代码。但是,我却遇到了IP请求超出限制的问题。在

为了解决这个问题,我必须时间。睡觉()的代码。你可以看到我试图添加一行'时间。睡觉(10) #要操作代码中的ip请求限制'。因此,python在抓取一个转发页面(一个页面包含200个转发)后将休眠10秒。在

然而,这仍然不足以解决知识产权问题。在

因此,我计划在python每20页爬虫一次之后,让它休眠60秒。你的想法将得到赞赏。

ids=[3388154704688495,3388154704688494,3388154704688492]addressForSavingData= "C:/Python27/weibo/Weibo_repost/repostOwsSave1.csv"

file = open(addressForSavingData,'wb') # save to csv file

for id in ids:

if api.rate_limit_status().remaining_hits >= 205:

for object in api.counts(ids=id):

repost_count=object.__getattribute__('rt')

print id, repost_count

pages= repost_count/200 +2 # why should it be 2? cuz python starts from 0

for page in range(1, pages):

time.sleep(10) # to opress the ip request limit

for object in api.repost_timeline(id=id, count=200, page=page): # get the repost_timeline of a weibo

"""1.1 reposts"""

mid = object.__getattribute__("id")

text = object.__getattribute__("text").encode('gb18030') # add encode here

"""1.2 reposts.user"""

user = object.__getattribute__("user") # for object in user

user_id = user.id

"""2.1 retweeted_status"""

rts = object.__getattribute__("retweeted_status")

rts_mid = rts.id # the id of weibo

"""2.2 retweeted_status.user"""

rtsuser_id = rts.user[u'id']

try:

w = csv.writer(file,delimiter=',',quotechar='|', quoting=csv.QUOTE_MINIMAL)

w.writerow(( mid,

user_id, rts_mid,

rtsuser_id, text)) # write it out

except: # Exception of UnicodeEncodeError

pass

elif api.rate_limit_status().remaining_hits < 205:

sleep_time=api.rate_limit_status().reset_time_in_seconds # time.time()

print sleep_time, api.rate_limit_status().reset_time

time.sleep(sleep_time+2)

file.close()

pass

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值