0
respostas

[Projeto] Exercicio Requests 3 -

Segue o codigo.

# importação de biblioteca, e dados de acesso para a requisição
import requests

acess_token = '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'
headers = {'Authorization': 'Bearer' + acess_token,
           'X-GitHub-Api-Version': '2022-11-28'}

params = {'per_page': 100,}
api_base_url = 'https://api.github.com'
owner = 'amzn'
url = f'{api_base_url}/users/{owner}/followers'

# extração dos dados, laço while true

page = 1
followers_list = []

while True:
      url_page = f'{url}?page={page}'
      response = requests.get(url_page,headers=headers, params=params)
       
      if response.status_code != 200:
          print(f'Erro na requisição: {response.status_code} - {response.text}')

      followers = response.json()

      if not followers:
           print(f"Total pages = {page - 1}")
           break
                  
      followers_list.extend(followers)
      print(f"url => {url_page}")
      page += 1

# Saida do resultado
print(f"Total de seguidores coletados: {len(followers_list)}")

#testando a saída
followers_list[1]

# Criando uma lista com os nomes dos seguidores
name_list = []
for repo in followers_list:
    name_list.append(repo['login'])
    
# Testando a lista
print(name_list)
print(len(name_list))

import pandas as pd
dados_amz_followers = pd.DataFrame()
dados_amz_followers['login'] = name_list

# Testando a saída
dados_amz_followers

#Salvar o arquivo em CSV
dados_amz_followers.to_csv('dados_amz_followers.csv')