Exemplo n.º 1
0
def spider_search(request):
    """
    爬虫的查询主程序
    :param request:
    :return:
    """
    return_list=[]
    return_code=['']
    num=50
    try:
        if request.method=='POST':# if 'ssq_num' in request.GET:#GET是一个dict,使用文本框的name作为key #在这里需要做一个判断,是否存在提交数据,以免报错
            num= request.POST['batch']
            batch,return_code[0]=get_web(num) #按个抓取双色球,并返回列表和查询网页状态
            for i in batch:
                ssq_list= TSsqShishibiao.objects.filter(num=i[0])#确实事实表里面是否已近各有了这个期数
                print 'if filter goes wrong',ssq_list,'0'
                if not ssq_list : #如果是空的说明不存在,我之前还判断里面的[0],其实一点都没有,所以报错了
                    ssq_tmp=TSsqShishibiao()
                    ssq_tmp.chushihua(i) #列表初始化事实表,并关联总表外键
                    ssq_tmp.save()
                    return_list.append(i)
            print 'cross ssb'
            for j in return_list:#先全部插入事实表,再把插入成功的数据生成对应的事实表
                ssq_tmp2=TSsqShishibiao()
                ssq_tmp2.chushihua(j)
                ssq_ext=cal_shishibiao_ext(ssq_tmp2)
                ssq_ext.save()
    except Exception:
        return_code[0]='form fail'

    t = loader.get_template('spider_search.html')
    Context={'ssq1':return_list,'message':return_code[0],'batch':num,'ssq_len':len(return_list)}
    return HttpResponse(t.render(Context))
Exemplo n.º 2
0
def all_basic_ext1(request):
    """
    事实表的外置扩展表的一键生成
    :param request:
    :return:
    """
    basic_list=TSsqShishibiao.objects.all()
    for i in basic_list:
        ext=cal_shishibiao_ext(i)
        # itemDir = ext.__dict__
        # for i in itemDir:
        #     print '{0} : {1}'.format(i, itemDir[i])
        ext.save()


    t = loader.get_template('normal_search.html')
    ssq1= TSsqShishibiao.objects.filter(num=2013001)
    ##ssq1=FoliageSsq.objects.filter(num__lt=2003001,num__gt=2003001-1001).order_by("-num")
    # cc= cal_shishibiao_ext(ssq1[0])

    Context={'ssq1':ssq1}
    return HttpResponse(t.render(Context))