我使用 for 循环来抓取网页。但是,我在抓取某些页面时遇到 ip request limit 错误。当我每 20 页抓取一次时,我试图让 python 睡眠几秒钟,但是,错误仍然存在。我可以在 python 睡眠 60 秒后再次开始爬行。
问题是每次出现异常时,我都会丢失一页信息。似乎python使用try-except方法跳过了异常页面。
我想知道最好的方法是从遇到异常的页面重新开始爬网。
我的问题是如何从异常页面重新开始抓取。
pageNum = 0
for page in range(1, 200):
pageNum += 1
if(pageNum % 20 ==0): # every 20 pages sleep 180 secs
print 'sleeep 180 secs'
time.sleep(180) # to oppress the ip request limit
try:
for object in api.repost_timeline(id=id, count=200, page=page):
mid = object.__getattribute__("id")
# my code here to store data
except:
print "Ip request limit", page
sleep.time(60)