YouTube 채널 최근 영상 목록 추출
- BeautifulSoup으로 유튜브 사이트를 긁어오면 텍스트 형태의 데이타 호출 가능
- 각 채널의 최근 영상 제목, 조회수, 업로드 시간 등의 정보 포함
- 원하는 정보를 정리해서 표시해주려는 목적
- 각 유튜브 채널의 'Video' 메뉴를 클릭하면 주소창에 해당 채널의 영문 채널ID 확인 가능 (names에 추가)
파이썬 모듈
bs4
BeautifulSoup
requests
파이썬 코드
from bs4 import BeautifulSoup
import requests
print('============================================================================================================')
# 한국 지역 유튜브 순위 - 채널 목록(유튜브.com/c/../'채널명'/videos)
names = ['https://www.youtube.com/c/BLACKPINKOFFICIAL/videos',
'https://www.youtube.com/c/HYBELABELS/videos',
'https://www.youtube.com/c/BANGTANTV/videos',
'https://www.youtube.com/c/SMTOWN/videos',
'https://www.youtube.com/c/1MILLIONDanceStudioofficial/videos']
for name in names:
URL = name
headers = {
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36 OPR/67.0.3575.115'}
page = requests.get(URL, headers=headers)
soup = BeautifulSoup(page.content, 'html.parser', from_encoding="utf8")
soup = str(soup)
keyword = '"height":188}]},"title":{"runs":[{"text":"'
buffer = len(keyword)
# 한글 브라우저
uploader = '게시자:'
result = soup.find(keyword)
# 키워드 추출
coordinates = [i for i in range(len(soup)) if soup.startswith(keyword, i)]
# 표시할 검색 결과 개수
f = 5
coordinates = coordinates[:f]
length = name[26:].find('/')
print(f'[{name[26:26+length]}]', end="\n\n")
for item in coordinates:
item = item + buffer
title = soup[item:item+100]
title_end = title.find('"}],')
title_end = title_end + item
title_final = soup[item:title_end]
if len(title_final) < 1:
pass
else:
print(title_final)
print('============================================================================================================')
- 'names' 리스트에 반복되는 부분은 URL 변수로 이동
추출 결과
- 채널명 표시, 채널명은 각 채널 사이트에서 'Video' 메뉴 클릭 시 주소창에서 확인 가능
- 파이썬 코드에서 f 변수 수정 시 호출되는 영상 제목 개수 변경 가능
- 채널 초이스, 국내 유튜브 순위 상위 5위 채널
728x90
'플그래밍 > 파이써언' 카테고리의 다른 글
[파이썬] 015. 마지막으로 발생하는 문자 INDEX 찾기 (0) | 2021.04.30 |
---|---|
[파이썬] 014. KOSPI 지수 차트 이미지 저장 (0) | 2021.04.29 |
[파이썬] 012. Selenium 웹사이트 캡쳐 (0) | 2021.01.28 |
[파이썬] 011. 텍스트 파일 합치기 - 실행파일(EXE) 만들기 (0) | 2021.01.20 |
[파이썬] 010. 저장된 와이파이 암호 확인하기 (윈도우10) (0) | 2021.01.09 |