Regra para "for variavel in array:" Dentro de Outro For

Existe alguma regra para a estrutura “for variavel in array:”, na qual a variavel não pode ser recriada ou é algo que deixo passar despercebido? Só o primeiro loop da linha 34 dá certo:

import time
from os import system

try:
    import requests
except Exception as e:
    system('pip install requests')
try:
    from bs4 import BeautifulSoup
except Exception as e:
    system('pip install beautifulsoup4')

def limpar():
    if system('clear'): system('cls')

while True:
    while True:
        try:
            url = input(f'Informe o site que quer pegar. >>> ')
            tag = input(f'Informe a tag que quer pegar. Se quiser mais de uma, separe-as por vírgula(s). >>> ').strip().split(',')
            page = requests.get(url)
            if page.status_code != 200:
                raise Exception('O código de retorno do site não foi ok (200)')
            break
        except Exception as e:
            print(f'Verifique se faltou o protocolo e se o endereço está correto. Erro >>> {e}.')
            opcao = input('Sair do programa? S para sim. Outra tecla para continuar. >>> ')
            if opcao.lower() == 's':
                print(f'Bye! Have a beautiful time.')
                quit()

    if page.status_code == 200:
        soup = BeautifulSoup(page.text, 'html.parser')
        for i in range(0, len(tag)):
            conteudo = ''
            for texto in soup.find_all(tag[i]):
                print(f'{texto.get_text()}')
                conteudo += f'{texto.get_text()}\n'
            gravar = input(f'\nDeseja gravar em arquivo, o conteúdo da tag >> {tag[i]} << ? S para sim, outra tecla para não. >>>> ')
            if gravar.lower() == 's':
                limpar()
                try:
                    nomeArquivo = input(f'Informe o nome do arquivo com caminho de pasta, caso queira salvar em subdiretórios. Mesmo vale para diretórios superiores. >>> ')
                    with open(nomeArquivo, 'w') as arquivo:
                        arquivo.write(conteudo)
                        print(f'Arquivo "{nomeArquivo}" gravado com sucesso.')
                except Exception as e:
                    print(f'Erro >>> {e}.')


    opcao = input(f'Deseja continuar? S para sim. Outra tecla para não. >>> ')
    if opcao.lower() != 's':
        print(f'Até mais.')
        quit()
    if system('clear'): system('cls')

Foi algo com o split, na segunda passada a tag ficou com espaço antes.

1 curtida