- Today
- Total
Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 코딩시험
- 파이썬 강의
- 자료구조 강의
- 파이썬
- 파이썬 알고리즘
- 중간시험
- 알고리즘 강의
- 프로그래밍
- 셀레니움
- 알고리즘
- 자료구조
- 크롤링
- 파이썬 자료구조
- 기말시험
- c언어
- 파이썬 강좌
- python data structure
- python 중간고사
- 파이썬 입문
- selenium
- Crawling
- 쉬운 파이썬
- 면접 파이썬
- 알고리즘 강좌
- gdrive
- 코딩문제
- 채용문제
- 대학시험
- 파이썬3
- 파이썬활용
Notice
반원 블로그
[파이썬 레시피 - 웹 활용 입문편] 02. 웹 자동화 - E. 트위치 클립 다운로드 본문
2018~/파이선 레시피 웹 활용 입문편
[파이썬 레시피 - 웹 활용 입문편] 02. 웹 자동화 - E. 트위치 클립 다운로드
반원_SemiCircle 2019. 6. 15. 09:24클립 영상 소스링크
트위치 클립은 <video>태그에 src속성을 확인하면됩니다. 그동안은 xpath로만 탐색을 했는데, 이번에는 추출할 요소의 태그가 명확하니 find_element_by_tag_name를 사용하겠습니다.
selenium에서 추출한 요소의 속성값을 확인하려면 get_attribute를 사용할 수 있습니다.
from selenium import webdriver
import time
driver = webdriver.Chrome('chromedriver')
driver.get("https://www.twitch.tv/soorte214/clip/AgileGracefulCheesecakePeteZarollTie") #특정 클립 링크
time.sleep(3)
#video 태그 확인
url_element = driver.find_element_by_tag_name('video')
vid_url = url_element.get_attribute('src')
print(vid_url)
영상 제목과 날짜
영상 링크는 구했으니, 제목과 날짜를 추출해봅시다. 나중에 이 2가지를 이용하여 파일명으로 만듭시다.
from selenium import webdriver
import time
driver = webdriver.Chrome('chromedriver')
driver.get("https://www.twitch.tv/soorte214/clip/AgileGracefulCheesecakePeteZarollTie") #특정 클립 링크
time.sleep(3)
#video 태그 확인
url_element = driver.find_element_by_tag_name('video')
vid_url = url_element.get_attribute('src')
print(vid_url)
#클립 제목과 날짜 확인
title_element1 = driver.find_element_by_class_name('tw-flex')
title_element2 = title_element1.find_elements_by_tag_name('span')
vid_title,vid_date = None, None
for span in title_element2:
try:
d_type =span.get_attribute('data-test-selector')
if d_type == "title":
vid_title = span.text
elif d_type == 'date':
vid_date = span.text
except:
pass
print(vid_title,'\t',vid_date)
영상 다운로드
막상 다운로드하려니 걸리는 것이 있습니다. 바로 특수문자입니다. 01.D. 네이버 웹툰 썸네일 가져오기 때처럼 특수문자삭제 처리를 해주고, 빈칸도 _(언더바)로 대신 바꿔보겠습니다.
다운로드는 urlretrieve을 사용하며, 다른 selenium 예제와는 다르게 모든 기능이 수행되면 브라우저를 닫아주도록 close도 사용하겠습니다.
from selenium import webdriver
import time
driver = webdriver.Chrome('chromedriver')
driver.get("https://www.twitch.tv/soorte214/clip/AgileGracefulCheesecakePeteZarollTie") #특정 클립 링크
time.sleep(3)
#video 태그 확인
url_element = driver.find_element_by_tag_name('video')
vid_url = url_element.get_attribute('src')
print(vid_url)
#클립 제목과 날짜 확인
title_element1 = driver.find_element_by_class_name('tw-flex')
title_element2 = title_element1.find_elements_by_tag_name('span')
vid_title,vid_date = None, None
for span in title_element2:
try:
d_type =span.get_attribute('data-test-selector')
if d_type == "title":
vid_title = span.text
elif d_type == 'date':
vid_date = span.text
except:
pass
print(vid_title,'\t',vid_date)
#특수문자 없애고 빈칸도 없에기
import re
vid_title = re.sub('[^0-9a-zA-Zㄱ-힗]', '', vid_title)
vid_date = re.sub('[^0-9a-zA-Zㄱ-힗]', '', vid_date)
print(vid_title,'\t',vid_date)
from urllib.request import urlretrieve
urlretrieve(vid_url, vid_title+'_'+vid_date+'.mp4')
driver.close()
'2018~ > 파이선 레시피 웹 활용 입문편' 카테고리의 다른 글
[파이썬 레시피 - 웹 활용 입문편] 03. 메일 - C. 네이버 메일 보내기 (0) | 2019.06.15 |
---|---|
[파이썬 레시피 - 웹 활용 입문편] 03. 메일 - B. 구글 메일 파일 첨부 (0) | 2019.06.15 |
[파이썬 레시피 - 웹 활용 입문편] 03. 메일 - A. 구글 메일 보내기 (0) | 2019.06.15 |
[파이썬 레시피 - 웹 활용 입문편] 02. 웹 자동화 - F. Driver를 숨기려면? (0) | 2019.06.15 |
[파이썬 레시피 - 웹 활용 입문편] 02. 웹 자동화 - D. 색맹테스트 봇 (0) | 2019.06.08 |
[파이썬 레시피 - 웹 활용 입문편] 02. 웹 자동화 - C. 1 to 50 봇 (0) | 2019.06.08 |
[파이썬 레시피 - 웹 활용 입문편] 02. 웹 자동화 - B. 유튜브 키워드 검색 (0) | 2019.06.08 |
[파이썬 레시피 - 웹 활용 입문편] 02. 웹 자동화 - A. Selenium 설치 (0) | 2019.06.08 |
Comments