Guys, I've wrote a script to extract sequences between the 23S rRNA and 16S rRNA gene in Python using Biopython. I can't figure out why, even if I've set explicit conditions, it keeps extracting randome sequences into the genome. Here's the code:

    for f in glob.glob(cwd+'/genomes/*.gbk'):
        gbank = SeqIO.parse(open(f,'r'), "genbank")
        with open(output_file, "w") as nfh:
            for genome in gbank:
                for gene in genome.features:
                    if gene.type=='rRNA':
                        if gene.location.strand == -1:   # wanted just the reverse strand
                            if 'product' in gene.qualifiers:
                                if '16S' in gene.qualifiers['product'][0]:
                                    end = gene.location.nofuzzy_start    
                                elif '23S' in gene.qualifiers['product'][0]:
                                    start = gene.location.nofuzzy_end
                                if abs(start - end) < 50000:
                                    intergenic_sequence.append(">%s|ITS_full_sequence|%s\n%s" % (genome.description, gene.location.strand, genome.seq[start:end]))

I've set `gene.type` to `rRNA` and it extract a sequence into a random CDS, nothing to do with ribosomal RNA. This problem happens with several genomes tested (RefSeq records, well annotated).
Many many thanks for this solution goes to @jrj.healey . Apparently the logic of features selection is the same, so I suddenly don't realize why this selection works instead of the previous. 

    for f in glob.glob(cwd+'/genomes/*.gbk'):
        gbank = SeqIO.parse(open(f,'r'), "genbank")
        with open(output_file, "w") as nfh:
            for genome in gbank:
                # trait for ITS located onto reverse strand
                rnas_rev = [feat for feat  in genome.features if feat.type == 'rRNA' and feat.location.strand == -1]
                s_rev = [ r for r in rnas_rev if '16S' in r.qualifiers['product'][0]]
                lo_rev = [ r for r in rnas_rev if '23S' in r.qualifiers['product'][0]]
                # trait for ITS located onto forward strand
                rnas_fw = [ feat for feat  in genome.features if feat.type == 'rRNA' and feat.location.strand == -1]
                s_fw = [ r for r in rnas_fw if '16S' in r.qualifiers['product'][0]]
                lo_fw = [ r for r in rnas_fw if '23S' in r.qualifiers['product'][0]]
                    # i select 16S genes
                    # j select 23S
                for i,j in zip(s_rev,lo_rev):
                    ....
                for i,j in zip(s_fw,lo_fw):
                    ....