高并发#
数据库增加一个数字状态字段,记录当前爬取状态,未爬取、爬取中和已爬取各使用不同的值(1,-1,0),也可以记录失败了几次(失败则数字加1),在爬取端选取爬取目标时,只筛选未爬取的,或者失败次数未达上限的
Redis等速度快的数据库可以暴力解决,它能及时反映当前爬取状态
通过人为设计规则保证目标选取不冲突
消息队列,类似调度器,每一个爬取端从消息队列中获取自己需要爬取的链接,同时消息队列设置每条消息只能被消费一次
数据库增加一个数字状态字段,记录当前爬取状态,未爬取、爬取中和已爬取各使用不同的值(1,-1,0),也可以记录失败了几次(失败则数字加1),在爬取端选取爬取目标时,只筛选未爬取的,或者失败次数未达上限的
Redis等速度快的数据库可以暴力解决,它能及时反映当前爬取状态
通过人为设计规则保证目标选取不冲突
消息队列,类似调度器,每一个爬取端从消息队列中获取自己需要爬取的链接,同时消息队列设置每条消息只能被消费一次