Django运行爬虫程序,确认当前是否有任务在进行那行代码,总是报错

问题遇到的现象和发生背景

运行爬虫代码文件,报错

问题相关代码,请勿粘贴截图

def grad_action(request):
work_name=request.GET.get('work_name')
type = request.GET.get('type')
record_name = request.GET.get('record_name')
cookie=request.GET.get('cookie')
# 判断当前是否有任务在进行
status = models.Data.objects.filter(category_id=type)
if (status[0].status == 0):
return HttpResponse(-1)

if(cookie==''):
    return HttpResponse(-3)

models.Data.objects.filter(category_id=type).update(status=0)
# 插入查找岗位信息记录
record = Record(record_name=record_name, date=str(int(time.time())), recruit_type=type)
record.save()
record_id = record.id

# 查找职位表是否有这个职位,没有的话就添加
cate_id = models.Category.objects.filter(name=work_name)

if (not (cate_id)):
    cate = models.Category(name=work_name, add_time=int(time.time()))
    cate.save()
    cate_id = cate.id
else:
    cate_id=cate_id[0].id

# return HttpResponse(cate_id)
if (int(type) == 2):
    reture = lagou_action(0, work_name, cate_id, record_id,cookie)
    return HttpResponse(reture)
运行结果及报错内容

img

img

img

我的解答思路和尝试过的方法

我尝试把这一行 # 判断当前是否有任务在进行status = models.Data.objects.filter(category_id=type)if (status[0].status == 0):注释掉,但是报了更多错误。

我想要达到的结果

爬虫程序可以运行。

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。

我也不是很懂models.Data.objects.filter,但我看你代码的理解是这样的:

1.是否有任务在进行,你这里应该是根据type 进行筛选。
status = models.Data.objects.filter(category_id=type)
2.随后对  status[0].status == 0  状态进行判断。
    但现在的问题报错是数组越界,有没有可能是第一步没筛选出东西,第二步,直接根据索引取内容,从而引起的报错。
建议加个status 是否为空的判断