어두운 proxyscrape 로고

Scrape YouTube Videos Using Python- An Easy Approach in 2024

방법, Python, 스크래핑, 12월-05-20225분 읽기
YouTube는 구글에 이어 세계에서 두 번째로 인기 있는 검색 엔진입니다. 사용자가 동영상을 보고, 공유하고, 좋아요를 누르고, 댓글을 달고, 업로드할 수 있는 동영상 공유 서비스입니다. 동영상 블로거, 유익한 콘텐츠, 교육용 동영상 및 기타 많은 데이터가 있는 곳입니다. 유튜브의 주요 기능은 다음과 같습니다:
  • 동영상 검색 및 시청
  • 개인 유튜브 채널 만들기
  • 채널에 동영상 업로드하기
  • 다른 채널 및 사용자 구독하기
  • 다른 유튜브 동영상에 좋아요 누르기 및 공유하기
  • 재생목록을 만들어 동영상을 함께 정리하기

웹 스크래핑을 사용하면 유튜브에서 데이터를 추출하고 해당 데이터에서 가치 있는 인사이트를 얻어 조직에 도움이 될 수 있습니다. 유튜브에서 데이터를 추출하는 방법을 배울 때는 어떤 유형의 데이터를 원하는지 파악하는 것이 중요합니다. 예를 들어, 내 작품에 대한 사람들의 반응을 알고 싶다면 댓글 섹션을 스크랩하여 사용자 감정 분석을 할 수 있습니다. 마찬가지로 동영상의 성공 여부를 추적하려면 동영상 실적 데이터를 스크랩할 수 있습니다. 

유튜브 동영상을 스크랩하는 방법을 배우기 전에 왜 스크랩해야 하는지 알아봅시다.

목차

유튜브에서 동영상을 스크랩하는 이유는 무엇인가요?

아래는 유튜브 데이터를 스크랩하는 두 가지 주요 이유입니다.

  • 동영상 실적 데이터 - 브랜드에 대한 정보 동영상을 게시할 때는 시청자의 반응을 추적하는 것이 중요합니다. 특정 동영상의 페이지를 스크랩하면 조회수, 좋아요, 싫어요, 댓글, 채널 구독자 수 등을 파악하는 데 도움이 됩니다. 이러한 각 측정지표의 비율을 염두에 두어야 합니다. 예를 들어, 동영상의 조회수가 수백만 회에 달하고 좋아요보다 싫어요가 더 많을 수 있습니다. 조회수가 좋아요가 많거나 품질이 좋은 동영상을 나타내는 것은 아닙니다. 대신 조회수와 좋아요/싫어요의 비율은 일종의 감정 분석이 될 수 있습니다.
  • 채널 데이터 - 유튜브 채널의 페이지를 스크랩하면 재생 목록, 동영상 수, 구독자 수 등과 관련된 데이터를 얻을 수 있습니다. 또한 경쟁 채널의 페이지를 스크랩하면 내 채널의 영향력이 경쟁 채널과 같은 수준인지 파악하는 데 유용하고 유익한 정보를 얻을 수 있습니다. 
  • 자동화 달성 - 강력한 웹 스크레이퍼를 사용하면 유튜브에서 자동으로 데이터를 추출할 수 있습니다. 사람이 할 수 있는 것보다 더 많은 양의 데이터를 수집할 수 있어 시간을 절약할 수 있습니다. 
  • 비즈니스 인텔리전스 및 인사이트 - 상당한 양의 데이터를 다운로드, 정리, 분석하여 경쟁사의 활동을 더 잘 파악할 수 있어 비즈니스 의사 결정을 내리는 데 도움이 됩니다.

파이썬을 사용하여 유튜브 동영상 스크랩하기

셀레늄과 파이썬을 사용해 유튜브 동영상 데이터를 추출하는 방법을 알아봅시다. 셀레늄은 웹 브라우저를 자동화하는 데 널리 사용되는 도구입니다. 셀레늄을 사용하여 웹 브라우저 자동화를 위한 Python 스크립트를 쉽게 프로그래밍할 수 있습니다. 

셀레늄은 선택한 브라우저와 인터페이스하기 위해 드라이버가 필요합니다. 예를 들어 Chrome의 경우 스크래핑을 시작하기 전에 설치해야 하는 ChromeDriver가 필요합니다.

Python 환경 설정

1단계 - 아래 명령을 사용하여 터미널을 열고 셀레늄을 설치해야 합니다.
pip 설치 셀레늄
2단계 - 아래 단계에 따라 Chrome 웹드라이버를 다운로드해야 합니다.
  • https://sites.google.com/a/chromium.org/chromedriver/download 을 방문해야 합니다.
  • 사용 중인 Chrome 버전에 맞는 호환 드라이버를 선택해야 합니다.
  • 오른쪽 상단에 있는 세로 점 3개를 클릭하여 사용 중인 Chrome 버전을 확인해야 합니다.
  • 그런 다음 도움말-> Google 크롬 정보로 이동해야 합니다.
3단계 - 드라이버 파일을 경로로 이동해야 합니다.

다운로드 디렉토리로 이동하여 다음을 수행해야 합니다.

  • 파일의 압축을 풉니다.
  • usr/local/bin 경로로 이동합니다.
$ CD 다운로드
$ 크롬드라이버_리눅스64.zip 압축을 풉니다.
$ mv chromedriver /usr/local/bin/

유튜브 동영상 스크랩

유튜브에서 특정 카테고리의 동영상 ID, 제목, 설명을 스크랩합니다. 스크랩할 수 있는 카테고리는 다음과 같습니다:

  • 과학
  • 음식
  • 여행
  • 제조 등

라이브러리 가져오기

Pandas 및 Selenium과 같은 필요한 라이브러리를 가져와야 합니다.

셀레늄에서 웹 드라이버를 가져옵니다. 
팬더를 pd로가져 오기 
에서 selenium.webdriver.common. by로 가져옵니다. 
부터 selenium.webdriver.support.ui에서 WebDriverWait를 가져옵니다. 
에서 selenium.webdriver.support 예상_조건을 EC로 가져옵니다.

드라이버 설정

브라우저에서 유튜브를 열어야 합니다. 동영상을 검색하려는 카테고리를 입력하고 필터를 "동영상"으로 설정합니다. 검색과 관련된 동영상이 표시됩니다. 이제 URL을 복사해야 합니다.

유튜브에서 URL의 콘텐츠를 가져오도록 드라이버를 설정해야 합니다.

driver = 웹드라이버.크롬() 
driver.get("YOUR_LINK_HERE")
이제 driver.get("YOUR_LINK_HERE") 함수에 링크를 붙여넣습니다. 셀을 실행하면 해당 링크에 대한 새 브라우저 창이 열립니다. 해당 특정 페이지에 있는 동영상 링크를 가져와야 합니다. 이러한 링크를 저장할 목록을 만들 수 있습니다. 그런 다음 브라우저 창으로 이동하여 다음을 수행해야 합니다.
  • 페이지를 마우스 오른쪽 버튼으로 클릭합니다.
  • '검사' 요소를 선택합니다.
id = "video-title "로 앵커 태그를 검색해야 합니다. 마우스 오른쪽 버튼으로 클릭-> 복사-> XPath를 클릭합니다. XPath는 다음과 같이 표시됩니다:
//*[@id=”video-title”]

아래 코드를 사용하여 검색한 앵커 태그의 "href" 속성을 가져올 수 있습니다.

user_data = driver.find_elements_by_xpath('//*[@id="video-title"]')
links = []
 user_data의 i 대해 
            links.append(i.get_attribute('href'))

 print(len(links))

데이터프레임 만들기

아래 네 개의 열로 데이터 프레임을 만들어야 합니다.

  • 링크
  • title
  • 설명
  • 카테고리

이 열에 다양한 카테고리에 대한 동영상 세부 정보를 저장할 수 있습니다.

df = pd.DataFrame(columns = ['link', ' title', 'description', 'category'])

아래 파이썬 코드를 사용하여 유튜브 동영상 세부 정보를 스크랩하도록 설정했습니다.

wait = WebDriverWait(driver, 10)
v_category = "CATEGORY_NAME"
링크의 x에대해 
            driver.get(x)
            v_id = x.strip('https://www.youtube.com/watch?v=')
            v_title = wait.until(EC.presence_of_element_located(
                           (By.CSS_SELECTOR,"h1.title yt-formatted-string"))).text
            v_description = wait.until(EC.presence_of_element_located(
                                         (By.CSS_SELECTOR,"div#description 
                                         yt-포맷된-스트링"))).text
            df.loc[len(df)] = [v_id, v_title, v_description, v_category]

여기,

  • wait는 'until' 조건에서 기본적으로 발생하는 NotFoundException의 인스턴스를 무시합니다. 
  • 매개 변수 wait 함수입니다:
    • 드라이버 - 예상 조건에 전달할 웹 드라이버 인스턴스입니다.
    • 시간 초과 - 기대값이 호출될 때의 시간 초과입니다.
  • v_category는 동영상 카테고리_이름을 저장하는 데 사용됩니다.
  • 위에서 만든 링크 목록에 for 루프를 적용했습니다.
  • driver.get(x) 는 아래 기능을 수행합니다:
    •  는 모든 링크를 하나씩 통과합니다.
    • 를 클릭하여 브라우저에서 열어 세부 정보를 가져옵니다.
  • v_id는 링크에서 스트라이프 동영상 ID를 저장하는 데 사용됩니다.
  • v_title은 CSS_SELECTOR를 사용하여 가져온 동영상 제목을 저장합니다.
  • 마찬가지로 v_description은 CSS_SELECTOR를 사용하여 동영상 설명을 저장합니다.

나머지 카테고리에 대해서도 동일한 단계를 따릅니다. 4개의 서로 다른 데이터프레임이 생성되고 이를 하나의 데이터프레임으로 병합합니다. 이렇게 하면 최종 데이터프레임에는 위에서 언급한 모든 카테고리의 동영상에 대한 원하는 세부 정보가 포함됩니다.

frames = [df_travel, df_science, df_food, df_manufacturing]
df_copy = pd.concat(frames, axis=0, join='outer', join_axes=None, ignore_index=True, keys=None, levels=None, names=None, verify_integrity=False, copy=True)

프록시를 사용하여 유튜브 동영상 스크랩하기

다음 작업에 유튜브 프록시를 사용할 수 있습니다:

  • 스크래핑 - 프록시를 사용하여 동영상 제목, 댓글 및 모든 정보를 올바르게 수집할 수 있습니다. 프록시를 사용하여 크리에이티브 커먼즈 도메인 내에 있는 유튜브 동영상을 스크랩할 수도 있습니다. 따라서 공식 플레이어로 Youtube를 사용하지 않고도 웹사이트에 동영상을 추가할 수 있습니다.
  • 유튜브 차단 해제 - 많은 기업이 정치적 또는 기타 이유로 콘텐츠를 대중으로부터 숨기려고 합니다. 프록시를 사용하면 액세스가 제한된 위치에서 유튜브 콘텐츠를 업로드하고 시청할 수 있습니다. 프록시는 학교나 직장에서 차단한 유튜브 동영상에 액세스할 수 있도록 도와줍니다.

주거용 프록시는 데이터 센터 프록시에 비해 유튜브에 가장 적합한 프록시입니다. 데이터 센터 프록시는 쉽게 감지되고 사용하는 동안 많은 캡차를 마주해야 하기 때문입니다. 따라서 IP 차단 및 캡차를 피하려면 가정용 프록시가 Youtube 자동화에 가장 적합합니다.

유튜브 스크래핑에 프록시를 사용하는 이유는 무엇인가요?

유튜브는 수십억 개의 가치 있는 데이터로 가득 차 있다는 것을 알고 계실 겁니다. 이 데이터를 분석하여 다음과 같은 다양한 작업을 수행할 수 있습니다:

  • 비즈니스 의사 결정
  • 마케팅 의사 결정
  • 사회 조사 및 연구

유튜브 스크래핑 시 프록시가 필요합니다. 유튜브는 단일 IP 주소에서 여러 아이템을 구매하려고 시도할 때 이를 감지하는 고급 사이버 보안 기술을 사용하기 때문입니다. 탐지를 피하려면 여러 프록시 서버를 통해 인터넷 트래픽을 재라우팅해야 합니다. 이렇게 하면 네트워크 트래픽이 다른 컴퓨터에서 오는 것처럼 보이게 됩니다.

프록시는 또한 마케터가 유튜브 봇을 사용하여 동영상의 조회 수를 늘리고, 유튜브 순위 알고리즘을 조작하고, 광고 수익을 청구할 수 있도록 보호막 역할을 합니다.

YouTube 동영상을 스크랩하는 데 가장 적합한 프록시는 무엇인가요?

ProxyScrape 는 온라인에서 가장 인기 있고 신뢰할 수 있는 프록시 제공업체 중 하나입니다. 세 가지 프록시 서비스에는 전용 데이터 센터 프록시 서버, 주거용 프록시 서버, 프리미엄 프록시 서버가 있습니다. 그렇다면 YouTube 동영상을 스크랩하는 데 가장 적합한 프록시는 무엇일까요? 이 질문에 답하기 전에 각 프록시 서버의 기능을 살펴보는 것이 가장 좋습니다.
전용 데이터센터 프록시 는 분석 목적으로 다양한 서버에서 대량의 데이터(크기 기준)를 스트리밍하는 등 고속 온라인 작업에 가장 적합합니다. 이는 조직이 단시간에 대량의 데이터를 전송하기 위해 전용 프록시를 선택하는 주된 이유 중 하나입니다.

전용 데이터센터 프록시는 무제한 대역폭 및 동시 연결, 간편한 통신을 위한 전용 HTTP 프록시, 보안 강화를 위한 IP 인증 등 다양한 기능을 제공합니다. 99.9%의 가동 시간으로 어떤 세션 중에도 전용 데이터센터가 항상 작동하므로 안심할 수 있습니다. 마지막으로 ProxyScrape 은 우수한 고객 서비스를 제공하며 영업일 기준 24~48시간 이내에 문제를 해결할 수 있도록 도와드립니다. 

다음은 주거용 프록시입니다. 주거용 프록시는 모든 일반 소비자가 사용하는 프록시입니다. 주된 이유는 주거용 프록시의 IP 주소가 ISP에서 제공하는 IP 주소와 유사하기 때문입니다. 즉, 대상 서버의 데이터에 액세스할 수 있는 권한을 평소보다 쉽게 얻을 수 있습니다. 

ProxyScrape의 또 다른 기능은 로테이팅 기능입니다. 로테이팅 프록시를 사용하면 주거용 프록시가 IP 주소를 동적으로 변경하여 대상 서버가 프록시 사용 여부를 확인하기 어렵기 때문에 계정이 영구적으로 차단되는 것을 방지할 수 있습니다. 

그 외에도 무제한 대역폭과 동시 연결, 전용 HTTP/s 프록시, 프록시 풀에 있는 700만 개 이상의 프록시를 통해 언제든지 세션에서 프록시, 보안 강화를 위한 사용자 이름 및 비밀번호 인증, 마지막으로 국가 서버 변경 기능 등 다양한 기능이 있습니다. 사용자 아이디 인증에 국가 코드를 추가하여 원하는 서버를 선택할 수 있습니다. 

마지막은 프리미엄 프록시입니다. 프리미엄 프록시는 전용 데이터센터 프록시와 동일합니다. 기능은 동일하게 유지됩니다. 가장 큰 차이점은 접근성입니다. 프리미엄 프록시에서는 프록시 목록(프록시가 포함된 목록)을 ProxyScrape네트워크의 모든 사용자가 사용할 수 있습니다. 그렇기 때문에 프리미엄 프록시는 전용 데이터센터 프록시보다 비용이 저렴합니다.
그렇다면 가장 좋은 유튜브 동영상을 스크랩하는 가장 좋은 프록시는 무엇일까요?? 정답은 "주거용 프록시 "입니다. 이유는 간단합니다. 위에서 말했듯이 주거용 프록시는 회전 프록시로, 일정 기간 동안 IP 주소가 동적으로 변경되므로 짧은 시간 내에 많은 요청을 전송하여 IP 차단을 받지 않고 서버를 속이는 데 유용할 수 있습니다. 

다음으로 가장 좋은 방법은 국가를 기준으로 프록시 서버를 변경하는 것입니다. IP 인증 또는 사용자 이름 및 비밀번호 인증 끝에 국가 ISO_CODE를 추가하기만 하면 됩니다. 

추천 읽기:

자주 묻는 질문:

1. 파이썬으로 유튜브 동영상을 스크랩하는 방법?
셀레늄(YouTube에서 데이터를 자동으로 스크랩) 및 판다(스크랩된 데이터를 데이터프레임 형식으로 저장)라는 파이썬 라이브러리를 사용하여 YouTube 동영상을 스크랩할 수 있습니다. YouTube 동영상을 스크랩하려면 최신 버전의 웹 드라이버가 필요합니다.
2. YouTube 동영상을 스크랩하는 것이 합법인가요?
스크래핑 방법이나 접근 방식이 웹사이트 소유자나 콘텐츠 소유자에게 어떤 형태나 형태로든 해를 끼치지 않는 한 YouTube에서 공개적으로 사용 가능한 모든 데이터를 스크랩하는 것은 합법적입니다.
3. 일반 사용자도 YouTube API를 사용할 수 있나요?
예, YouTube는 일반 사용자에게 API를 무료로 제공합니다. 이를 사용하여 액세스하는 데 어려움 없이 YouTube 서버와 직접 상호 작용할 수 있습니다.

파이썬을 사용한 YouTube 동영상 스크래핑에 대한 최종 생각:

계정을 운영하는 조직과 유튜브 크리에이터에게 유튜브에는 분석을 위해 스크랩할 수 있는 유용한 데이터가 많이 있습니다. 유튜브 스크래퍼는 조회수, 좋아요/싫어요, 댓글 등과 관련된 데이터를 추출하여 더 나은 비즈니스 의사 결정을 쉽게 내릴 수 있도록 도와줍니다. 셀레늄과 파이썬을 사용하여 유튜브 동영상을 스크랩하면 많은 시간을 절약할 수 있습니다. 유튜브가 단일 IP 주소에서 여러 요청을 감지하면 계정이 차단될 수 있으므로 프록시를 사용하는 것이 중요합니다. 유튜브에 가장 적합한 프록시는 주거용 프록시로, 매우 빠르고 쉽게 감지할 수 없기 때문입니다.

파이썬을 사용하여 유튜브 동영상을 스크랩하는 방법에 대해 이해하셨기를 바랍니다.