Пример #1
0
def main():
    conn = pymysql.connect(host="localhost",
                           user="******",
                           password="******",
                           database="platform",
                           charset="utf8")
    cursor = conn.cursor()
    sql = 'select * from mass_terrace'
    result = None
    try:
        cursor.execute(sql)
        result = cursor.fetchall()
    except:
        print("Error: unable to fetch data")
    analytics = GoogleConfig.get_ga()
    print("right")
    for row in result:
        #获取数据库各平台id和GA视图ID
        #通过视图ID获取当天流量,并拼接平台ID入库
        t1 = (datetime.datetime.now() -
              datetime.timedelta(days=1)).strftime('%Y-%m-%d')
        t2 = (datetime.datetime.now() -
              datetime.timedelta(days=1)).strftime('%Y-%m-%d')
        response = GaGet.getMass_report(analytics, t1, t2, row[3])
        #入库,放入response 和 平台ID
        TranUtil.insert_massResponse(response, row[0])
    cursor.close()
    conn.close()
Пример #2
0
def check_en(analytics, conn, cursor, terraceId, viewId):
    sql = 'select * from mass_entry a where a.terraceId = "%d" and a.ifCheck is null' % (terraceId)
    entryResult = None
    try:
        cursor.execute(sql)
        entryResult = cursor.fetchall()
    except:
        print("Error: unable to fetch data")
    for eRow in entryResult:
        print(eRow[3])
        dateddd = eRow[3].strftime('%Y-%m-%d')

        #如果为领峰系,先用领峰系自己的核对方式,查不到再用皇御系方式核对
        if terraceId == 1:
            response = GaGet.get_user_message_by_account_igold(analytics, viewId, dateddd, eRow[18] + '')
            data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message_igold(analytics, viewId, dateddd, (eRow[17] + '')[:-1])
                data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message(analytics, viewId, dateddd, (eRow[17] + '')[:-1])
                data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message_by_account(analytics, viewId, dateddd, eRow[18] + '')
                data = response.get('reports', [])[0].get('data', {})
        elif terraceId == 3:
            response = GaGet.get_user_message_by_account_acetop(analytics, viewId, dateddd, eRow[18] + '')
            data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message(analytics, viewId, dateddd, (eRow[17] + '')[:-1])
                data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message_by_account(analytics, viewId, dateddd, eRow[18] + '')
                data = response.get('reports', [])[0].get('data', {})
        else:
            response = GaGet.get_user_message(analytics, viewId, dateddd, (eRow[17] + '')[:-1])
            data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message_by_account(analytics, viewId, dateddd, eRow[18] + '')
                data = response.get('reports', [])[0].get('data', {})

        #如果确实查不到,到库中修改为已核对
        if isinstance(data.get('rowCount'), int) is False:
            updateSql = "UPDATE mass_entry SET ifCheck = 1 where id = '%d'" % (eRow[0])
            try:
                cursor.execute(updateSql)
                conn.commit()
            except:
                conn.rollback()
            continue

        #查出来的话,就选取查出数据的第一条,判定是否为.com 或 not set ,如果是,就取另外一条,如果没有其他的,就依然取第一条
        dataRows = data.get('rowCount', int)
        trueRowNum = 0
        if dataRows > 1:
            for i in range(dataRows-1, -1, -1):
                checkRow = data.get('rows', [])[i].get('dimensions', [])[1]
                if checkRow.find(".com") > -1 or checkRow.find("not set") > -1 or checkRow.find("(none)") > -1:
                    continue
                else:
                    trueRowNum = i
                    break
        rowData = data.get('rows', [])[trueRowNum]
        checkData = rowData.get('dimensions', [])
        if len(checkData) > 1:
            source = checkData[1].split('/')[0].rstrip()
            medium = checkData[1].split('/')[1].lstrip()
            updateSql = "UPDATE mass_entry SET extensionSource = '%s', source = '%s', medium = '%s', plan = '%s'," \
                        " unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                            checkData[1], source, medium, checkData[2], checkData[3], checkData[4], eRow[0])
            try:
                cursor.execute(updateSql)
                conn.commit()
            except:
                conn.rollback()
        print(checkData)
Пример #3
0
def check_re(analytics, conn, cursor, terraceId, viewId):
    sql = 'select * from mass_register a where a.terraceId = "%d" and a.ifCheck is null' % (terraceId)
    registerResult = None
    try:
        cursor.execute(sql)
        registerResult = cursor.fetchall()
    except:
        print("Error: unable to fetch data")
    for rRow in registerResult:
        print(rRow[1])
        dateddd = rRow[1].strftime('%Y-%m-%d')
        # 如果为领峰系,先用领峰系自己的核对方式,查不到再用皇御系方式核对
        if terraceId == 1:
            response = GaGet.get_user_message_by_account_igold(analytics, viewId, dateddd, rRow[10] + '')
            data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message_igold(analytics, viewId, dateddd, (rRow[9] + '')[:-1])
                data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message(analytics, viewId, dateddd, (rRow[9] + '')[:-1])
                data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message_by_account(analytics, viewId, dateddd, rRow[10] + '')
                data = response.get('reports', [])[0].get('data', {})
        elif terraceId == 3:
            response = GaGet.get_user_message_by_account_acetop(analytics, viewId, dateddd, rRow[10] + '')
            data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message(analytics, viewId, dateddd, (rRow[9] + '')[:-1])
                data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message_by_account(analytics, viewId, dateddd, rRow[10] + '')
                data = response.get('reports', [])[0].get('data', {})
        else:
            response = GaGet.get_user_message(analytics, viewId, dateddd, (rRow[9] + '')[:-1])
            data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message_by_account(analytics, viewId, dateddd, rRow[10] + '')
                data = response.get('reports', [])[0].get('data', {})

        # 如果确实查不到,到库中修改为已核对
        if isinstance(data.get('rowCount'), int) is False:
            updateSql = "UPDATE mass_register SET ifCheck = 1 where id = '%d'" % (rRow[0])
            try:
                cursor.execute(updateSql)
                conn.commit()
            except:
                conn.rollback()
            continue

        # 查出来的话,就选取查出数据的第一条,判定是否为.com 或 not set ,如果是,就取另外一条,如果没有其他的,就依然取第一条
        dataRows = data.get('rowCount', int)
        trueRowNum = 0
        if dataRows > 1:
            for i in range(dataRows-1, -1, -1):
                checkRow = data.get('rows', [])[i].get('dimensions', [])[1]
                if checkRow.find(".com") > -1 or checkRow.find("not set") > -1 or checkRow.find("(none)") > -1:
                    continue
                else:
                    trueRowNum = i
                    break
        rowData = data.get('rows', [])[trueRowNum]
        checkData = rowData.get('dimensions', [])
        if len(checkData) > 1:
            source = checkData[1].split('/')[0].rstrip()
            medium = checkData[1].split('/')[1].lstrip()
            isTran = ""
            if "ref|org" in medium and terraceId == 3:
                print("is SEO")
                # 到acetop GA中核对
                response = GaGet.get_user_message_by_account_acetop_owm(analytics,'181239932', dateddd, rRow[10] + '')
                data = response.get('reports', [])[0].get('data', {})
                if isinstance(data.get('rowCount'), int) is True:
                    cRowDates = data.get('rows', [])
                    for cRowDate in cRowDates:
                        if checkRow.get('dimensions', [])[0].find("800.igoldhk.com") > -1:
                            isTran = "igold"
            updateSql = "UPDATE mass_register SET mass = '%s', source = '%s', medium = '%s', plan = '%s', unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                checkData[1], source, medium, checkData[2], checkData[3], checkData[4], rRow[0])
            try:
                cursor.execute(updateSql)
                conn.commit()
            except:
                conn.rollback()
        print(checkData)
Пример #4
0
def main():
    analytics = GoogleConfig.get_ga()
    print(111)
    conn = pymysql.connect(host="localhost",
                           user="******",
                           password="******",
                           database="platform",
                           charset="utf8")
    cursor = conn.cursor()
    sql = 'select * from mass_returncall a where a.ifCheck is null'
    registerResult = None
    try:
        cursor.execute(sql)
        registerResult = cursor.fetchall()
    except:
        print("Error: unable to fetch data")
    for rRow in registerResult:
        print(rRow[3])
        dateddd = rRow[3].strftime('%Y-%m-%d')
        terraceId = rRow[19]
        if terraceId == 1:
            viewId = '185946517'
        elif terraceId == 2:
            viewId = '162478221'
        elif terraceId == 3:
            viewId = '185946517'
        elif terraceId == 4:
            viewId = '197372064'
        if terraceId == 1:
            response = GaGet.get_user_message_by_account_igold(
                analytics, viewId, dateddd, rRow[18] + '')
            data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message_igold(
                    analytics, viewId, dateddd, (rRow[17] + '')[:-1])
                data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message(analytics, viewId, dateddd,
                                                  (rRow[17] + '')[:-1])
                data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message_by_account(
                    analytics, viewId, dateddd, rRow[18] + '')
                data = response.get('reports', [])[0].get('data', {})
        elif terraceId == 3:
            response = GaGet.get_user_message_by_account_acetop(
                analytics, viewId, dateddd, rRow[18] + '')
            data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message(analytics, viewId, dateddd,
                                                  (rRow[17] + '')[:-1])
                data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message_by_account(
                    analytics, viewId, dateddd, rRow[18] + '')
                data = response.get('reports', [])[0].get('data', {})
        else:
            response = GaGet.get_user_message(analytics, viewId, dateddd,
                                              (rRow[17] + '')[:-1])
            data = response.get('reports', [])[0].get('data', {})
            if isinstance(data.get('rowCount'), int) is False:
                response = GaGet.get_user_message_by_account(
                    analytics, viewId, dateddd, rRow[18] + '')
                data = response.get('reports', [])[0].get('data', {})

        # 如果确实查不到,到库中修改为已核对
        if isinstance(data.get('rowCount'), int) is False:
            updateSql = "UPDATE mass_returncall SET ifCheck = 1 where id = '%d'" % (
                rRow[0])
            try:
                cursor.execute(updateSql)
                conn.commit()
            except:
                conn.rollback()
            continue

        # 查出来的话,就选取查出数据的第一条,判定是否为.com 或 not set ,如果是,就取另外一条,如果没有其他的,就依然取第一条
        dataRows = data.get('rowCount', int)
        trurRowNum = 0
        if dataRows > 1:
            for i in range(0, dataRows):
                checkRow = data.get('rows', [])[i].get('dimensions', [])[1]
                if checkRow.find(".com") > -1 or checkRow.find(
                        "not set") > -1 or checkRow.find("(none)") > -1:
                    continue
                else:
                    trurRowNum = i
                    break
        rowData = data.get('rows', [])[trurRowNum]
        checkData = rowData.get('dimensions', [])
        if len(checkData) > 1:
            source = checkData[1].split('/')[0].rstrip()
            medium = checkData[1].split('/')[1].lstrip()
            updateSql = "UPDATE mass_returncall SET extensionSource = '%s', source = '%s', medium = '%s', plan = '%s'," \
                        " unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                            checkData[1], source, medium, checkData[2], checkData[3], checkData[4], rRow[0])
            try:
                cursor.execute(updateSql)
                conn.commit()
            except:
                conn.rollback()
        print(checkData)
Пример #5
0
def check_en(analytics, conn, cursor, terraceId, viewId, t1 ,t2):
    try:
        sql = 'select * from mass_entry a where a.terraceId = "%d" and a.entryDate >= "%s" and a.entryDate<= "%s" and a.ifCheck is null order by a.registerDate' % (terraceId, t1, t2)
        entryResult = None
        try:
            cursor.execute(sql)
            entryResult = cursor.fetchall()
        except:
            logger.info("Error: unable to fetch data")
        daysRows = {}
        daysList = []
        for eRow in entryResult:
            dateKey = eRow[3].strftime('%Y-%m-%d')
            daysList.append(dateKey)
        daysList = list(set(daysList))
        for daysKey in daysList:
            daysRows[daysKey] = []
        for eRow in entryResult:
            entDate = eRow[3].strftime('%Y-%m-%d')
            daysRows[entDate].append(eRow)

        for key in daysRows:
            logger.info(key)
            oneDayRows = daysRows[key]
            if terraceId == 1:
                accounts = ""
                for rr in oneDayRows:
                    accounts = accounts + rr[18] + "|"
                if accounts != "":
                    response = GaGet.get_user_message_by_account_igold(analytics, viewId, key, accounts[:-1])
                    #处理获得的数据
                    checkRullE(response, oneDayRows, conn, cursor, 18)

            elif terraceId == 3:
                accounts = ""
                for rr in oneDayRows:
                    accounts = accounts + rr[18] + "|"
                if accounts != "":
                    response = GaGet.get_user_message_by_account_acetop(analytics, viewId, key, accounts[:-1])
                    checkRullE(response, oneDayRows, conn, cursor, 18)

            gaIds = ""
            for rr in oneDayRows:
                if rr[17] == "undefined.undefined":
                    continue
                gaIds = gaIds + rr[17] + "|"
            if gaIds != "":
                response = GaGet.get_user_message(analytics, viewId, key, gaIds[:-1])
                checkRullE(response, oneDayRows, conn, cursor, 17)

            accounts = ""
            for rr in oneDayRows:
                accounts = accounts + rr[18] + "|"
            if accounts != "":
                response = GaGet.get_user_message_by_account(analytics, viewId, key, accounts[:-1])
                checkRullE(response, oneDayRows, conn, cursor, 18)

            if len(oneDayRows) > 0:
                checkIds = ""
                for rr in oneDayRows:
                    checkIds = checkIds + str(rr[0]) + ","
                updateSql = "UPDATE mass_entry SET ifCheck = 1 where id in (%s)" % (checkIds[:-1])
                try:
                    cursor.execute(updateSql)
                    conn.commit()
                except:
                    conn.rollback()
    except:
        logger.error("ga入金核对出现问题,重新请求")
        check_en(analytics, conn, cursor, terraceId, viewId, t1, t2)
Пример #6
0
def check_re(analytics, conn, cursor, terraceId, viewId, t1, t2):
    try:
        sql = 'select * from mass_register a where a.terraceId = "%d" and a.registerDate >= "%s" and a.registerDate<= "%s" and a.ifCheck is null order by a.registerDate' % (terraceId, t1, t2)
        registerResult = None
        try:
            cursor.execute(sql)
            registerResult = cursor.fetchall()
        except:
            logger.info("Error: unable to fetch data")
        t1Date = datetime.datetime.strptime(t1, '%Y-%m-%d %H:%M:%S')
        t2Date = datetime.datetime.strptime(t2, '%Y-%m-%d %H:%M:%S')
        days = (t2Date-t1Date).days+1
        daysRows = {}
        for day in range(days):
            dateDate = (t1Date + datetime.timedelta(days=day)).strftime('%Y-%m-%d')
            daysRows[dateDate] = []
        for rRow in registerResult:
            regDate = rRow[1].strftime('%Y-%m-%d')
            daysRows[regDate].append(rRow)

        for key in daysRows:
            logger.info(key)
            oneDayRows = daysRows[key]
            if terraceId == 1:
                accounts = ""
                for rr in oneDayRows:
                    accounts = accounts + rr[10] + "|"
                if accounts != "":
                    response = GaGet.get_user_message_by_account_igold(analytics, viewId, key, accounts[:-1])
                    #处理获得的数据
                    checkRull(response, oneDayRows, conn, cursor, 10)

            elif terraceId == 3:
                accounts = ""
                for rr in oneDayRows:
                    accounts = accounts + rr[10] + "|"
                if accounts != "":
                    response = GaGet.get_user_message_by_account_acetop(analytics, viewId, key, accounts[:-1])
                    checkRull(response, oneDayRows, conn, cursor, 10)

            gaIds = ""
            for rr in oneDayRows:
                if rr[9] == "undefined.undefined":
                    continue
                gaIds = gaIds + rr[9] + "|"
            if gaIds != "":
                response = GaGet.get_user_message(analytics, viewId, key, gaIds[:-1])
                checkRull(response, oneDayRows, conn, cursor, 9)

            accounts = ""
            for rr in oneDayRows:
                accounts = accounts + rr[10] + "|"
            if accounts != "":
                response = GaGet.get_user_message_by_account(analytics, viewId, key, accounts[:-1])
                checkRull(response, oneDayRows, conn, cursor, 10)

            if len(oneDayRows) > 0:
                checkIds = ""
                for rr in oneDayRows:
                    checkIds = checkIds + str(rr[0]) + ","
                updateSql = "UPDATE mass_register SET ifCheck = 1 where id in (%s)" % (checkIds[:-1])
                try:
                    cursor.execute(updateSql)
                    conn.commit()
                except:
                    conn.rollback()
    except:
        logger.error("ga注册核对出现问题,重新请求")
        check_re(analytics, conn, cursor, terraceId, viewId, t1, t2)
Пример #7
0
def check_re(analytics, conn, cursor, terraceId, viewId):
    sql = 'select * from mass_register_all a where a.terraceId = "%d" and a.ifCheck is null order by a.registerDate' % (
        terraceId)
    registerResult = None
    try:
        cursor.execute(sql)
        registerResult = cursor.fetchall()
    except:
        print("Error: unable to fetch data")
    reDate = None
    oneDayRows = []
    for index, rRow in enumerate(registerResult):
        if index == 0:
            reDate = rRow[1].strftime('%Y-%m-%d')
            oneDayRows.append(rRow)
        else:
            if reDate == rRow[1].strftime(
                    '%Y-%m-%d') and index != len(registerResult) - 1:
                oneDayRows.append(rRow)
            else:
                if index == len(registerResult) - 1 and reDate == rRow[
                        1].strftime('%Y-%m-%d'):
                    oneDayRows.append(rRow)
                print(reDate)
                if terraceId == 1:
                    #第一种方式
                    accounts = ""
                    for rr in oneDayRows:
                        accounts = accounts + rr[10] + "|"
                    response = GaGet.get_user_message_by_account_igold(
                        analytics, viewId, reDate, accounts[:-1])
                    data = response.get('reports', [])[0].get('data', {})
                    if isinstance(data.get('rowCount'), int) is True:
                        rowDatas = data.get('rows', [])
                        deleteList = []
                        for rIndex, rr in enumerate(oneDayRows):
                            trueRow = None
                            for i, rowData in enumerate(rowDatas):
                                if rr[10] in rowData.get('dimensions', [])[0]:
                                    checkRow = rowData.get('dimensions', [])[1]
                                    if checkRow.find(
                                            ".com") > -1 or checkRow.find(
                                                "not set"
                                            ) > -1 or checkRow.find(
                                                "(none)") > -1:
                                        trueRow = i
                                        continue
                                    else:
                                        trueRow = i
                                        break
                            if trueRow is None:
                                continue
                            rowData = rowDatas[trueRow]
                            checkData = rowData.get('dimensions', [])
                            if len(checkData) > 1:
                                source = checkData[1].split('/')[0].rstrip()
                                medium = checkData[1].split('/')[1].lstrip()
                                updateSql = "UPDATE mass_register_all SET mass = '%s', source = '%s', medium = '%s', plan = '%s', unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                                    checkData[1], source, medium, checkData[2],
                                    checkData[3], checkData[4], rr[0])
                                try:
                                    cursor.execute(updateSql)
                                    conn.commit()
                                except:
                                    conn.rollback()
                                deleteList.append(rIndex)
                            print(checkData)
                        deleteList.sort(reverse=True)
                        for delIndex in deleteList:
                            del oneDayRows[delIndex]
                    #第二种方式
                    gaIds = ""
                    for rr in oneDayRows:
                        gaIds = gaIds + rr[9] + "|"
                    response = GaGet.get_user_message_igold(
                        analytics, viewId, reDate, gaIds[:-1])
                    data = response.get('reports', [])[0].get('data', {})
                    if isinstance(data.get('rowCount'), int) is True:
                        rowDatas = data.get('rows', [])
                        deleteList = []
                        for rIndex, rr in enumerate(oneDayRows):
                            trueRow = None
                            for i, rowData in enumerate(rowDatas):
                                if rr[9] in rowData.get('dimensions', [])[0]:
                                    checkRow = rowData.get('dimensions', [])[1]
                                    if checkRow.find(
                                            ".com") > -1 or checkRow.find(
                                                "not set"
                                            ) > -1 or checkRow.find(
                                                "(none)") > -1:
                                        trueRow = i
                                        continue
                                    else:
                                        trueRow = i
                                        break
                            if trueRow is None:
                                continue
                            rowData = rowDatas[trueRow]
                            checkData = rowData.get('dimensions', [])
                            if len(checkData) > 1:
                                source = checkData[1].split('/')[0].rstrip()
                                medium = checkData[1].split('/')[1].lstrip()
                                updateSql = "UPDATE mass_register_all SET mass = '%s', source = '%s', medium = '%s', plan = '%s', unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                                    checkData[1], source, medium, checkData[2],
                                    checkData[3], checkData[4], rr[0])
                                try:
                                    cursor.execute(updateSql)
                                    conn.commit()
                                except:
                                    conn.rollback()
                                deleteList.append(rIndex)
                            print(checkData)
                        deleteList.sort(reverse=True)
                        for delIndex in deleteList:
                            del oneDayRows[delIndex]
                    #第三种方法
                    gaIds = ""
                    for rr in oneDayRows:
                        gaIds = gaIds + rr[9] + "|"
                    response = GaGet.get_user_message(analytics, viewId,
                                                      reDate, gaIds[:-1])
                    data = response.get('reports', [])[0].get('data', {})
                    if isinstance(data.get('rowCount'), int) is True:
                        rowDatas = data.get('rows', [])
                        deleteList = []
                        for rIndex, rr in enumerate(oneDayRows):
                            trueRow = None
                            for i, rowData in enumerate(rowDatas):
                                if rr[9] in rowData.get('dimensions', [])[0]:
                                    checkRow = rowData.get('dimensions', [])[1]
                                    if checkRow.find(
                                            ".com") > -1 or checkRow.find(
                                                "not set"
                                            ) > -1 or checkRow.find(
                                                "(none)") > -1:
                                        trueRow = i
                                        continue
                                    else:
                                        trueRow = i
                                        break
                            if trueRow is None:
                                continue
                            rowData = rowDatas[trueRow]
                            checkData = rowData.get('dimensions', [])
                            if len(checkData) > 1:
                                source = checkData[1].split('/')[0].rstrip()
                                medium = checkData[1].split('/')[1].lstrip()
                                updateSql = "UPDATE mass_register_all SET mass = '%s', source = '%s', medium = '%s', plan = '%s', unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                                    checkData[1], source, medium, checkData[2],
                                    checkData[3], checkData[4], rr[0])
                                try:
                                    cursor.execute(updateSql)
                                    conn.commit()
                                except:
                                    conn.rollback()
                                deleteList.append(rIndex)
                            print(checkData)
                        deleteList.sort(reverse=True)
                        for delIndex in deleteList:
                            del oneDayRows[delIndex]
                    # 第四种方式
                    accounts = ""
                    for rr in oneDayRows:
                        accounts = accounts + rr[10] + "|"
                    response = GaGet.get_user_message_by_account(
                        analytics, viewId, reDate, accounts[:-1])
                    data = response.get('reports', [])[0].get('data', {})
                    if isinstance(data.get('rowCount'), int) is True:
                        rowDatas = data.get('rows', [])
                        deleteList = []
                        for rIndex, rr in enumerate(oneDayRows):
                            trueRow = None
                            for i, rowData in enumerate(rowDatas):
                                if rr[10] in rowData.get('dimensions', [])[0]:
                                    checkRow = rowData.get('dimensions', [])[1]
                                    if checkRow.find(
                                            ".com") > -1 or checkRow.find(
                                                "not set"
                                            ) > -1 or checkRow.find(
                                                "(none)") > -1:
                                        trueRow = i
                                        continue
                                    else:
                                        trueRow = i
                                        break
                            if trueRow is None:
                                continue
                            rowData = rowDatas[trueRow]
                            checkData = rowData.get('dimensions', [])
                            if len(checkData) > 1:
                                source = checkData[1].split('/')[0].rstrip()
                                medium = checkData[1].split('/')[1].lstrip()
                                updateSql = "UPDATE mass_register_all SET mass = '%s', source = '%s', medium = '%s', plan = '%s', unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                                    checkData[1], source, medium, checkData[2],
                                    checkData[3], checkData[4], rr[0])
                                try:
                                    cursor.execute(updateSql)
                                    conn.commit()
                                except:
                                    conn.rollback()
                                deleteList.append(rIndex)
                            print(checkData)
                        deleteList.sort(reverse=True)
                        for delIndex in deleteList:
                            del oneDayRows[delIndex]
                    if len(oneDayRows) > 0:
                        checkIds = ""
                        for rr in oneDayRows:
                            checkIds = checkIds + str(rr[0]) + ","
                        updateSql = "UPDATE mass_register_all SET ifCheck = 1 where id in (%s)" % (
                            checkIds[:-1])
                        try:
                            cursor.execute(updateSql)
                            conn.commit()
                        except:
                            conn.rollback()
                elif terraceId == 2:
                    gaIds = ""
                    for rr in oneDayRows:
                        gaIds = gaIds + rr[9] + "|"
                    response = GaGet.get_user_message(analytics, viewId,
                                                      reDate, gaIds[:-1])
                    data = response.get('reports', [])[0].get('data', {})
                    if isinstance(data.get('rowCount'), int) is True:
                        rowDatas = data.get('rows', [])
                        deleteList = []
                        for rIndex, rr in enumerate(oneDayRows):
                            trueRow = None
                            for i, rowData in enumerate(rowDatas):
                                if rr[9] in rowData.get('dimensions', [])[0]:
                                    checkRow = rowData.get('dimensions', [])[1]
                                    if checkRow.find(
                                            ".com") > -1 or checkRow.find(
                                                "not set"
                                            ) > -1 or checkRow.find(
                                                "(none)") > -1:
                                        trueRow = i
                                        continue
                                    else:
                                        trueRow = i
                                        break
                            if trueRow is None:
                                continue
                            rowData = rowDatas[trueRow]
                            checkData = rowData.get('dimensions', [])
                            if len(checkData) > 1:
                                source = checkData[1].split('/')[0].rstrip()
                                medium = checkData[1].split('/')[1].lstrip()
                                updateSql = "UPDATE mass_register_all SET mass = '%s', source = '%s', medium = '%s', plan = '%s', unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                                    checkData[1], source, medium, checkData[2],
                                    checkData[3], checkData[4], rr[0])
                                try:
                                    cursor.execute(updateSql)
                                    conn.commit()
                                except:
                                    conn.rollback()
                                deleteList.append(rIndex)
                            print(checkData)
                        deleteList.sort(reverse=True)
                        for delIndex in deleteList:
                            del oneDayRows[delIndex]
                    # 第四种方式
                    accounts = ""
                    for rr in oneDayRows:
                        accounts = accounts + rr[10] + "|"
                    response = GaGet.get_user_message_by_account(
                        analytics, viewId, reDate, accounts[:-1])
                    data = response.get('reports', [])[0].get('data', {})
                    if isinstance(data.get('rowCount'), int) is True:
                        rowDatas = data.get('rows', [])
                        deleteList = []
                        for rIndex, rr in enumerate(oneDayRows):
                            trueRow = None
                            for i, rowData in enumerate(rowDatas):
                                if rr[10] in rowData.get('dimensions', [])[0]:
                                    checkRow = rowData.get('dimensions', [])[1]
                                    if checkRow.find(
                                            ".com") > -1 or checkRow.find(
                                                "not set"
                                            ) > -1 or checkRow.find(
                                                "(none)") > -1:
                                        trueRow = i
                                        continue
                                    else:
                                        trueRow = i
                                        break
                            if trueRow is None:
                                continue
                            rowData = rowDatas[trueRow]
                            checkData = rowData.get('dimensions', [])
                            if len(checkData) > 1:
                                source = checkData[1].split('/')[0].rstrip()
                                medium = checkData[1].split('/')[1].lstrip()
                                updateSql = "UPDATE mass_register_all SET mass = '%s', source = '%s', medium = '%s', plan = '%s', unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                                    checkData[1], source, medium, checkData[2],
                                    checkData[3], checkData[4], rr[0])
                                try:
                                    cursor.execute(updateSql)
                                    conn.commit()
                                except:
                                    conn.rollback()
                                deleteList.append(rIndex)
                            print(checkData)
                        deleteList.sort(reverse=True)
                        for delIndex in deleteList:
                            del oneDayRows[delIndex]
                    if len(oneDayRows) > 0:
                        checkIds = ""
                        for rr in oneDayRows:
                            checkIds = checkIds + str(rr[0]) + ","
                        updateSql = "UPDATE mass_register_all SET ifCheck = 1 where id in (%s)" % (
                            checkIds[:-1])
                        try:
                            cursor.execute(updateSql)
                            conn.commit()
                        except:
                            conn.rollback()
                elif terraceId == 3:
                    # 第一种方式
                    accounts = ""
                    for rr in oneDayRows:
                        accounts = accounts + rr[10] + "|"
                    response = GaGet.get_user_message_by_account_acetop(
                        analytics, viewId, reDate, accounts[:-1])
                    data = response.get('reports', [])[0].get('data', {})
                    if isinstance(data.get('rowCount'), int) is True:
                        rowDatas = data.get('rows', [])
                        deleteList = []
                        for rIndex, rr in enumerate(oneDayRows):
                            trueRow = None
                            for i, rowData in enumerate(rowDatas):
                                if rr[10] in rowData.get('dimensions', [])[0]:
                                    checkRow = rowData.get('dimensions', [])[1]
                                    if checkRow.find(
                                            ".com") > -1 or checkRow.find(
                                                "not set"
                                            ) > -1 or checkRow.find(
                                                "(none)") > -1:
                                        trueRow = i
                                        continue
                                    else:
                                        trueRow = i
                                        break
                            if trueRow is None:
                                continue
                            rowData = rowDatas[trueRow]
                            checkData = rowData.get('dimensions', [])
                            if len(checkData) > 1:
                                source = checkData[1].split('/')[0].rstrip()
                                medium = checkData[1].split('/')[1].lstrip()
                                updateSql = "UPDATE mass_register_all SET mass = '%s', source = '%s', medium = '%s', plan = '%s', unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                                    checkData[1], source, medium, checkData[2],
                                    checkData[3], checkData[4], rr[0])
                                try:
                                    cursor.execute(updateSql)
                                    conn.commit()
                                except:
                                    conn.rollback()
                                deleteList.append(rIndex)
                            print(checkData)
                        deleteList.sort(reverse=True)
                        for delIndex in deleteList:
                            del oneDayRows[delIndex]
                    # 第三种方法
                    gaIds = ""
                    for rr in oneDayRows:
                        gaIds = gaIds + rr[9] + "|"
                    response = GaGet.get_user_message(analytics, viewId,
                                                      reDate, gaIds[:-1])
                    data = response.get('reports', [])[0].get('data', {})
                    if isinstance(data.get('rowCount'), int) is True:
                        rowDatas = data.get('rows', [])
                        deleteList = []
                        for rIndex, rr in enumerate(oneDayRows):
                            trueRow = None
                            for i, rowData in enumerate(rowDatas):
                                if rr[9] in rowData.get('dimensions', [])[0]:
                                    checkRow = rowData.get('dimensions', [])[1]
                                    if checkRow.find(
                                            ".com") > -1 or checkRow.find(
                                                "not set"
                                            ) > -1 or checkRow.find(
                                                "(none)") > -1:
                                        trueRow = i
                                        continue
                                    else:
                                        trueRow = i
                                        break
                            if trueRow is None:
                                continue
                            rowData = rowDatas[trueRow]
                            checkData = rowData.get('dimensions', [])
                            if len(checkData) > 1:
                                source = checkData[1].split('/')[0].rstrip()
                                medium = checkData[1].split('/')[1].lstrip()
                                updateSql = "UPDATE mass_register_all SET mass = '%s', source = '%s', medium = '%s', plan = '%s', unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                                    checkData[1], source, medium, checkData[2],
                                    checkData[3], checkData[4], rr[0])
                                try:
                                    cursor.execute(updateSql)
                                    conn.commit()
                                except:
                                    conn.rollback()
                                deleteList.append(rIndex)
                            print(checkData)
                        deleteList.sort(reverse=True)
                        for delIndex in deleteList:
                            del oneDayRows[delIndex]
                    # 第四种方式
                    accounts = ""
                    for rr in oneDayRows:
                        accounts = accounts + rr[10] + "|"
                    response = GaGet.get_user_message_by_account(
                        analytics, viewId, reDate, accounts[:-1])
                    data = response.get('reports', [])[0].get('data', {})
                    if isinstance(data.get('rowCount'), int) is True:
                        rowDatas = data.get('rows', [])
                        deleteList = []
                        for rIndex, rr in enumerate(oneDayRows):
                            trueRow = None
                            for i, rowData in enumerate(rowDatas):
                                if rr[10] in rowData.get('dimensions', [])[0]:
                                    checkRow = rowData.get('dimensions', [])[1]
                                    if checkRow.find(
                                            ".com") > -1 or checkRow.find(
                                                "not set"
                                            ) > -1 or checkRow.find(
                                                "(none)") > -1:
                                        trueRow = i
                                        continue
                                    else:
                                        trueRow = i
                                        break
                            if trueRow is None:
                                continue
                            rowData = rowDatas[trueRow]
                            checkData = rowData.get('dimensions', [])
                            if len(checkData) > 1:
                                source = checkData[1].split('/')[0].rstrip()
                                medium = checkData[1].split('/')[1].lstrip()
                                updateSql = "UPDATE mass_register_all SET mass = '%s', source = '%s', medium = '%s', plan = '%s', unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                                    checkData[1], source, medium, checkData[2],
                                    checkData[3], checkData[4], rr[0])
                                try:
                                    cursor.execute(updateSql)
                                    conn.commit()
                                except:
                                    conn.rollback()
                                deleteList.append(rIndex)
                            print(checkData)
                        deleteList.sort(reverse=True)
                        for delIndex in deleteList:
                            del oneDayRows[delIndex]
                    if len(oneDayRows) > 0:
                        checkIds = ""
                        for rr in oneDayRows:
                            checkIds = checkIds + str(rr[0]) + ","
                        updateSql = "UPDATE mass_register_all SET ifCheck = 1 where id in (%s)" % (
                            checkIds[:-1])
                        try:
                            cursor.execute(updateSql)
                            conn.commit()
                        except:
                            conn.rollback()
                elif terraceId == 4:
                    gaIds = ""
                    for rr in oneDayRows:
                        gaIds = gaIds + rr[9] + "|"
                    response = GaGet.get_user_message(analytics, viewId,
                                                      reDate, gaIds[:-1])
                    data = response.get('reports', [])[0].get('data', {})
                    if isinstance(data.get('rowCount'), int) is True:
                        rowDatas = data.get('rows', [])
                        deleteList = []
                        for rIndex, rr in enumerate(oneDayRows):
                            trueRow = None
                            for i, rowData in enumerate(rowDatas):
                                if rr[9] in rowData.get('dimensions', [])[0]:
                                    checkRow = rowData.get('dimensions', [])[1]
                                    if checkRow.find(
                                            ".com") > -1 or checkRow.find(
                                                "not set"
                                            ) > -1 or checkRow.find(
                                                "(none)") > -1:
                                        trueRow = i
                                        continue
                                    else:
                                        trueRow = i
                                        break
                            if trueRow is None:
                                continue
                            rowData = rowDatas[trueRow]
                            checkData = rowData.get('dimensions', [])
                            if len(checkData) > 1:
                                source = checkData[1].split('/')[0].rstrip()
                                medium = checkData[1].split('/')[1].lstrip()
                                updateSql = "UPDATE mass_register_all SET mass = '%s', source = '%s', medium = '%s', plan = '%s', unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                                    checkData[1], source, medium, checkData[2],
                                    checkData[3], checkData[4], rr[0])
                                try:
                                    cursor.execute(updateSql)
                                    conn.commit()
                                except:
                                    conn.rollback()
                                deleteList.append(rIndex)
                            print(checkData)
                        deleteList.sort(reverse=True)
                        for delIndex in deleteList:
                            del oneDayRows[delIndex]
                    # 第四种方式
                    accounts = ""
                    for rr in oneDayRows:
                        accounts = accounts + rr[10] + "|"
                    response = GaGet.get_user_message_by_account(
                        analytics, viewId, reDate, accounts[:-1])
                    data = response.get('reports', [])[0].get('data', {})
                    if isinstance(data.get('rowCount'), int) is True:
                        rowDatas = data.get('rows', [])
                        deleteList = []
                        for rIndex, rr in enumerate(oneDayRows):
                            trueRow = None
                            for i, rowData in enumerate(rowDatas):
                                if rr[10] in rowData.get('dimensions', [])[0]:
                                    checkRow = rowData.get('dimensions', [])[1]
                                    if checkRow.find(
                                            ".com") > -1 or checkRow.find(
                                                "not set"
                                            ) > -1 or checkRow.find(
                                                "(none)") > -1:
                                        trueRow = i
                                        continue
                                    else:
                                        trueRow = i
                                        break
                            if trueRow is None:
                                continue
                            rowData = rowDatas[trueRow]
                            checkData = rowData.get('dimensions', [])
                            if len(checkData) > 1:
                                source = checkData[1].split('/')[0].rstrip()
                                medium = checkData[1].split('/')[1].lstrip()
                                updateSql = "UPDATE mass_register_all SET mass = '%s', source = '%s', medium = '%s', plan = '%s', unit = '%s', keyword = '%s', ifCheck = 1 WHERE id = %d" % (
                                    checkData[1], source, medium, checkData[2],
                                    checkData[3], checkData[4], rr[0])
                                try:
                                    cursor.execute(updateSql)
                                    conn.commit()
                                except:
                                    conn.rollback()
                                deleteList.append(rIndex)
                            print(checkData)
                        deleteList.sort(reverse=True)
                        for delIndex in deleteList:
                            del oneDayRows[delIndex]
                    if len(oneDayRows) > 0:
                        checkIds = ""
                        for rr in oneDayRows:
                            checkIds = checkIds + str(rr[0]) + ","
                        updateSql = "UPDATE mass_register_all SET ifCheck = 1 where id in (%s)" % (
                            checkIds[:-1])
                        try:
                            cursor.execute(updateSql)
                            conn.commit()
                        except:
                            conn.rollback()
                #重新赋日期
                if index != len(registerResult) - 1:
                    reDate = rRow[1].strftime('%Y-%m-%d')
                    oneDayRows.clear()
                    oneDayRows.append(rRow)