[파이썬] 트위터 API에서 팔로워 리스트 얻기

트위터 API 사용법을 배우기 위해 내 계정(다른 계정도 때를 공개할 수 있음)에서 팔로워 일람코드를 받아보려고 했다.
또 공개 계정에서만 시용한다.
또한 트위터 API의 액세스 토큰 정보를 얻기 전 절차가 중단된다.
이번엔 베어 토큰을 사용하는 방법으로 시행하려고 합니다.
Bearer는 OAuth 2.0에 명시되어 있습니다.
트위터 API에서는 OAuth 1.0도 사용할 수 있지만 후자의 방문 범위는 더욱 넓다.
자세한 내용은 공식 홈페이지를 보세요.

  • 베어에 관해서는 아래 사이트를 참고할 수 있습니다.
  • Bearer 토큰
  • 코드


    베어 토큰은 이미 획득한 전제이긴 하지만
    HTTP 요청 머리글에 토큰을 추가하고 HTTP 요청의 예를 건너뜁니다.
    응답이 JSON으로 돌아갑니다.
    주의 사항으로 요청 횟수에 제한이 있습니다(※ 자세한 내용).
    이번에는 HTTP 요청에 사용할 프로그램 라이브러리로 Requests를 사용합니다.
    GET는 이런 느낌으로 넘어가야 한다.
    값을 반환하면 Response 객체가 반환됩니다.
    res = requests.get(url, params=payload, headers=headers)
    
    이번에 사용한 API의 URL은 다음과 같다(자세한 사양은 참조).
    url = 'https://api.twitter.com/2/users/[id]/followers'
    
    payload는 URL 매개 변수의 지정이고 max_results=100는 매번 100개의 요청을 되돌려달라는 지시이다.
    최대 1000개까지 지정할 수 있습니다.
    payload = {'max_results': '100'}
    
    베어 영패를 눈썹에 넣는다.
    headers = {'Authorization': 'Bearer ...'}
    
    잘 진행되면 상태 코드 200이 응답을 되돌려줍니다.
    그리고 Response 대상의 .json() 방법을 사용하면 텍스트는List 또는 dict형으로 해석됩니다.
    json_res = res.json()
    
    import는 절단된 것이지만 관심자 일람followers을 받은 후 목록에 넣은 코드는 전체적으로 다음과 같다.
    followers = []
    while True:
        res = requests.get(url, params=payload, headers=headers)
        json_res = res.json()
        followers += json_res['data']
    
        if ('next_token' in json_res['meta']):
            payload['pagination_token'] = json_res['meta']['next_token']
        else:
            break
    
    사용자 목록은 data 아래에 나열되어 ID, 디스플레이 이름, 계정 이름 세 개의 정보가 있다.meta 아래에 data 아래의 건수와 아래 일람표가 있는 경우 방문용 영패를 기재한다.next_token의 경우 다음 HTTP 요청 헤더에 pagination_token와 그 값을 추가하여 다시 요청합니다.
    위의 예에서 next_token가 사라질 때까지 순환한다.
    한마디로 관심자 일람표를 얻을 수 있다.

    보태다


    • Python 프로그램이 있는 디렉터리를 현재 디렉터리로 실행하려면 다음과 같습니다.__file__ 파이톤 프로그램의 절대 경로를 되돌려줍니다.
    os.chdir(os.path.dirname(__file__))
    
    ·제작 과정에서 여러 차례 요청이 있었지만, 응답 결과를 파일에 떨어뜨리면 액세스 제한으로 시간을 낭비하지 않았다.
    픽셀로 할 수 있을지도 몰라요.

    사이트 축소판 그림


    Requests

    좋은 웹페이지 즐겨찾기