# 넷플릭스 스크래핑을 위해서 중간 과정을 복기해보도록 하겠다.
# 단계0
# 가장 기초로 시작해야하는 webdriver 호출등은 환경 등이 다르기 때문에 생략을 하고, 가져왔다는 가정하에 진행해보겠다.
html = browser.page_source
soup = BeautifulSoup(html, 'html.parser')
# 단계1
section_list = soup.select('section.nm-collections-row')
# 이렇게 했던 이유는 단순히 'section'이라고 하면, 길이가 24개쯤 되었고 그 말인즉슨 엄한곳의 정보까지
# 가져올 수가 있었다. 그렇게되면 엄한것을 가져오는게 문제가 아니라, 정보가 꼬여서 반복문등의 활용을 할 수 없게 된다.
# 따라서 약간 더 세부적으로 section에 클래스명까지 붙여서 봤다.
# 갯수가 다름을 알수있었던 이유는, section을 일일이 세어보았다. (수가 많지 않으니)
# 단계 2
len(section_list) # 16
section_list # 이거는 어마무지하게 자료가 나왔다.
# 단계 3
# 어마무지하게 나오던 자료 중에서 내가 필요한 정보는 title이고 해당되는 태그는 h2였다.
# 여기의 이 개념이 정말 중요했었는데, 기존에는 위를 바라보며 상위의, 상위의 부모태그, 조상태그를 찾아갔었지만
# 여기서는 실질적으로 section이라는 태그에 귀속된 다양한 정보와 다양한 태그 중에서 즉, 자식역할을 하는 h2를
# 찾아주는 것이였어서 더욱 의의가 있었다.
# 각 섹션안에도 많은 수의 제목들이 있으니 우선은 테스트를 위해 0번 리스트 부터 지정해주자
section = section_list[0]('h2')
# 이렇게 해주면 많던 자료는 온데간데 없고
# [<h2 class="nm-collections-row-name" data-uia="collections-row-title">넷플릭스 인기 콘텐츠</h2>]
# 라고 나온다.
# 단계4
# section으로 지정해준것에 대해서 len 값을 돌려보면 값이 1개다 즉 인덱스는 0이다.
section_title = section[0].text
# 결과값
넷플릭스 인기 콘텐츠
================================
여담이지만, 위의 과정을 거친 후에 쭉 뽑아주려면
for i in section_list:
title = i.select('h2')[0].text
print(title)
이렇게 처리해주는 것으로 마무리 했다.
'개발일지 > selenium, BeautifulSoup, requests' 카테고리의 다른 글
beautifulsoup 이용한 netflex 스크래핑 (드디어 해냈다..) (0) | 2022.06.23 |
---|---|
beautifulsoup nexflex(넷플릭스) 중 불필요한 문자 제거 (0) | 2022.06.23 |
beautifulsoup alt, href 값등 가져오기 (드디어 알았다 ㅠㅠ) (0) | 2022.06.23 |
beautifulsoup 태그원리 이해 (0) | 2022.06.23 |
[selenium] chromedriver_autoinstaller로 크롬드라이버 버전 일치화 에러해결 (0) | 2022.06.22 |