1
resposta

fiquei com dǘvidas pois o código da instrutora não funcionou e decidi criar o meu própio, mas não tenho um parametro para comparar a assertividade

selected_followers = []
page = 1

while True:
    
    url_followers = f'{url_amazon}/?pages={page}'
    response = requests.get(url_amazon, headers=headers)
    followers = response.json()

    if len(followers) == 1:
        print('sei la')
    else:
        selected_followers.append(followers)
        page +=1
        break
1 resposta

Olá, Estevão! Tudo bem?

O seu código está bem próximo do que precisa ser feito, mas notei alguns pontos que podem estar causando o problema.

O parâmetro de página deve ser page, e não pages. Veja como ficaria:

url_followers = f'{url_amazon}?page={page}'

Em seguida, na linha onde você faz a requisição GET, você está utilizando novamente a variável url_amazon, quando deveria utilizar a url_followers que acabou de definir. Veja como ficaria:

response = requests.get(url_followers, headers=headers)

Por fim, no seu laço while, você está quebrando o laço (break) logo após adicionar os seguidores na lista selected_followers e incrementar a página. Isso faz com que o laço seja executado apenas uma vez, independentemente do número de páginas. O ideal seria quebrar o laço apenas quando não houver mais seguidores para extrair. Uma maneira de fazer isso seria verificar se a resposta da requisição GET está vazia. Veja como ficaria:

if not followers:
    break
else:
    selected_followers.append(followers)
    page +=1

Com essas modificações, o seu código ficaria assim:

selected_followers = []
page = 1

while True:
    
    url_followers = f'{url_amazon}?page={page}'
    response = requests.get(url_followers, headers=headers)
    followers = response.json()

    if not followers:
        break
    else:
        selected_followers.append(followers)
        page +=1

Contudo, você comentou que o código disponibilizado pela instrutora não funcionou, poderia descrever melhor o porquê não funcionou? Compartilhar um print ou o log de erro também seria de grande ajuda.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.