Как обновить gront в режиме реального времени? - PullRequest
0 голосов
/ 14 апреля 2020

Я кодирую скребок, который отправляет некоторые клиентские коды на страницу, и они пишут на листе некоторую информацию о странице, которая будет загружена.

Обновление листа происходит только на последнем шаге кода, но я хочу обновить лист по отдельности, так как страница возвращает нужную мне информацию, чтобы я мог работать с этой информацией, пока код еще работает ...

Class CpfSearch(object):
    def __init__(self, spreadsheet_name):
        self.cpf_col = 1
        self.nome_col = 2
        self.age_col = 3
        self.beneficio_col = 4
        self.concessao_col = 5
        self.salario_col = 6
        self.bancos_col = 7
        self.bancocard_col = 8
        self.consig_col = 9
        self.card_col = 15

        scope = ['https://www.googleapis.com/auth/spreadsheets',
                 'https://www.googleapis.com/auth/drive.readonly']

        creds = ServiceAccountCredentials.from_json_keyfile_name('CONSULTAS.json', scope)

        client = gspread.authorize(creds)

        self.sheet = client.open(spreadsheet_name).sheet1

    def process_cpf_list(self):

        # SKIP OVER COLUMN HEADING IN THE SPREADSHEET
        cpfs = self.sheet.col_values(self.cpf_col)[1:]

        bot_url = BOT(cpfs)
        nomes, idades, beneficios, concessoes, salarios, bancoss, bancoscard, consigs, cards = bot_url.search_cpfs()

        # UPDATE THE SHEET
        print("Atualizando...")

        for cpfs in range(len(nomes)):
            try:
                self.sheet.update_cell(cpfs + 2, self.nome_col, nomes[cpfs])
                self.sheet.update_cell(cpfs + 2, self.age_col, idades[cpfs])
                self.sheet.update_cell(cpfs + 2, self.beneficio_col, beneficios[cpfs])
                self.sheet.update_cell(cpfs + 2, self.concessao_col, concessoes[cpfs])
                self.sheet.update_cell(cpfs + 2, self.salario_col, salarios[cpfs])
                self.sheet.update_cell(cpfs + 2, self.bancos_col, bancoss[cpfs])
                self.sheet.update_cell(cpfs + 2, self.bancocard_col, bancoscard[cpfs])
                self.sheet.update_cell(cpfs + 2, self.consig_col, consigs[cpfs])
                self.sheet.update_cell(cpfs + 2, self.card_col, cards[cpfs])
                print('Cliente atualizado!')
            except APIError:
                print('Esperando para atualizar...')
                time.sleep(100)
                continue


cpf_updater = CpfSearch('TESTE')
cpf_updater.process_cpf_list()
...