Dorulog  
Home
  • 분류 전체보기 (2071)
    • News (77)
    • Life (928)
      • Review (430)
      • diary (294)
      • Game (81)
      • Novel (56)
      • Other books (49)
    • Work (209)
      • Excel (31)
      • Stock (65)
    • Tip & Tech (775)
      • IT (84)
      • Internet tip (88)
      • IOS (71)
      • Android (96)
      • Python (18)
      • SQL (4)
      • Computer (292)
      • Blog (19)
      • Shopping (43)
    • Trip (63)
Home
  • 분류 전체보기 (2071)
    • News (77)
    • Life (928)
      • Review (430)
      • diary (294)
      • Game (81)
      • Novel (56)
      • Other books (49)
    • Work (209)
      • Excel (31)
      • Stock (65)
    • Tip & Tech (775)
      • IT (84)
      • Internet tip (88)
      • IOS (71)
      • Android (96)
      • Python (18)
      • SQL (4)
      • Computer (292)
      • Blog (19)
      • Shopping (43)
    • Trip (63)
블로그 내 검색
Facebook

Dorulog

꿈 많은 아이 Doru

  • Tip & Tech/Python

    파이썬 유튜브 API 연동하기

    2021. 12. 30.

    by. dorudoru

    반응형

    저번에는 크롤링으로 하는 방법을 알아보았는데요. 구글은 API를 제공해줘서

    좀더 편한방법으로도 크롤링할 수 있습니다.

    2021.12.28 - [Tip & Tech/Python] - 파이썬 유튜브 제목, 조회수 크롤링하기

     

    파이썬 유튜브 제목, 조회수 크롤링하기

    안녕하세요. 오랫만에 파이썬 포스팅을 하게 되었네요. 오늘은 유튜브 페이지의 제목과 조회수를 크롤링 해보겠습니다. 유튜브 페이지 크롤링 저번에 포스팅과 같이 크롤링은 처음 구조 확인부

    dorudoru.tistory.com

    유튜브 API

    API는 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트로,

    애플리케이션 프로그래밍 인터페이스(Application Programming Interface)의 약자입니다.

    즉 API를 사용하면 커뮤니케이션 시간을 단축하여 애플리케이션 개발을 간소화하여 시간과 비용을 절약할 수 있습니다.

    새로운 툴과 제품을 설계하거나 기존 툴과 제품을 관리하는 경우 API는 유연성을 제공하고

    설계, 관리, 사용 방법을 간소화하며 혁신의 기회를 제공합니다.

    구글은 다양한 API를 지원하고 있고, 이중 유튜브 API도 지원합니다.

    유튜브 API 링크

     

    시작하기  |  YouTube Data API  |  Google Developers

    시작하기 소개 이 문서는 YouTube와 상호작용할 수 있는 애플리케이션을 개발하려는 개발자를 위해 작성되었습니다. 여기에서는 YouTube 및 API의 기본 개념에 대해 설명합니다. 또한 API가 지원하는

    developers.google.com

    위 링크에서 유튜브 API를 만들면 되는데요.

    가이드를 보고 따라하셔도 되고 아래 링크로 직접 접속하셔도 됩니다.

     

    Google Cloud Platform

    There is a temporary block on your account. This happens when Google detects requests from your network that may have been sent by malicious software, a browser plug-in, or script that sends automated requests. Retry in a few minutes.

    console.cloud.google.com

    youtube api

    하단에 위치한 사용자 인증 정보를 입력하시면 API키를 얻을 수 있습니다.

    받은 API키를 잘 복사해 놓으시면 됩니다.

    파이썬에서 Youtube API 연동

    파이썬에서 간편하게 youtube API를 연동할 수 있는데요.

    구글 가이드 링크

     

    Python 코드 예  |  YouTube Data API  |  Google Developers

    Python 코드 예 Python용 Google API 클라이언트 라이브러리를 사용하는 다음 코드 샘플은 YouTube Data API에 사용할 수 있습니다. 이 코드 샘플들은 GitHub의 YouTube API 코드 샘플 리포지토리의 python 폴더에

    developers.google.com

    먼저 관련 라이브러리를 먼저 설치하셔야 합니다.

    파이썬은 2.7이상이거나 3.5버전 이상이어야 합니다.

    기본적으로 2개의 패키지가 필요하고, 추가적으로 몇개 더 필요할 수도 있습니다.

    pip install --upgrade google-api-python-client
    pip install --upgrade google-auth-oauthlib google-auth-httplib2
    pip install oauth2client

    그리고 유튜브 API에는 할당량이 존재합니다.

    읽기작업은 1,000,000개 정도입니다.

    인터넷에 있는 소스를 참고하여 만들면 아래처럼 만들고 동작을 확인했습니다.

    에러가 나는 경우가 있어서 예외처리를 잘해줘야 하더라구요.

    import re
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    from oauth2client.tools import argparser
    import pandas as pd
    import datetime
    import time
    
    DEVELOPER_KEY = 'api' #유튜브 API 키 값
    YOUTUBE_API_SERVICE_NAME = "youtube"
    YOUTUBE_API_VERSION = "v3"
    
    youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,developerKey=DEVELOPER_KEY)
    
    views=[]
    likes=[]
    title=[]
    
    for u in range(len(df3)):
        request = youtube.videos().list(
            part="snippet,contentDetails,statistics",
            id=df3['idn'].iloc[u]
        )
        try:
            response = request.execute()
            if response['items']==[]:
                title.append('-')
                views.append('-')
                likes.append('-')
                
            else
                title.append(response['items'][0]['snippet']['title'])
                views.append(response['items'][0]['statistics']['viewCount'])
                likes.append(response['items'][0]['statistics']['likeCount'])
        except:
            title.append('에러')
            views.append('없음')
            likes.append('삭제')
            
    df=pd.DataFrame([title,views,likes]).T

    그럼 즐거운 하루되세요

    반응형
    저작자표시
    • 카카오스토리
    • 트위터
    • 페이스북

    'Tip & Tech > Python' 카테고리의 다른 글

    PIP 명령어 정리  (14) 2022.01.03
    파이썬 crontab으로 스케쥴링 하기  (16) 2021.12.30
    파이썬 유튜브 API 연동하기  (8) 2021.12.30
    파이썬 유튜브 제목, 조회수 크롤링하기  (6) 2021.12.28
    파이썬 기초 문법 5일차 - 판다스 2편  (2) 2021.09.07
    파이썬 기초문법 4일차 - 판다스 알아보기  (4) 2021.09.05
    구글api, 유튜브API, 유튜브조회수

    댓글 8

    • 프로필사진
      흙수저 2021.12.30 08:15 신고

      캬,... 파이썬!!! 주제가 확실하네요!!! 굿굿 ㅎㅎㅎ

      수정/삭제답글
      • 프로필사진
        dorudoru 2021.12.31 17:37 신고

        아닙니다 방문 감사드려요~

        수정/삭제
    • 프로필사진
      아이홀 2021.12.30 09:13 신고

      API 제공으로 다양한 개발이 가능하겠네요.
      오늘도 잘 보고 갑니다.
      언젠가 써먹을 날을 기약하며..

      수정/삭제답글
      • 프로필사진
        dorudoru 2021.12.31 17:37 신고

        네네 많은걸 할수 있더라구요.

        수정/삭제
    • 프로필사진
      katie0311 2021.12.30 09:13 신고

      정말 모르는게 너무 많아요 ㅠㅠ 힝 ㅠㅠ

      수정/삭제답글
      • 프로필사진
        dorudoru 2021.12.31 17:37 신고

        천천히 하시면 따라하실 수 있을겁니다!!

        수정/삭제
    • 프로필사진
      pppjjj 2022.03.08 16:58

      안녕하세요. 올려주신 코드 그대로 따라해보고 있는데, df3가 정의되지 않았다는 오류가 뜨네요. 어떻게 해야할까요???

      수정/삭제답글
      • 프로필사진
        dorudoru 2022.03.08 20:35 신고

        해당 코드는 앞에서 df3에 유튜브 주소 리스트가 있는 파일이구요.

        for문 제외하고시고 id에 그냥 주소 적으시면 됩니다.

        수정/삭제

    관련글

    • PIP 명령어 정리 2022.01.03
    • 파이썬 crontab으로 스케쥴링 하기 2021.12.30
    • 파이썬 유튜브 제목, 조회수 크롤링하기 2021.12.28
    • 파이썬 기초 문법 5일차 - 판다스 2편 2021.09.07
    맨 위로
이전
1 ··· 5 6 7 8 9 10 11 12 13 ··· 18
다음
전체 글 보기
  • Dorulog?
  • Youtube
  • Facebook
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today 1,434

Total 4,639,964

Powered by ⓒ Dorulog

Designed by Nana
블로그 이미지
dorudoru
Dorulog

티스토리툴바