작성
·
503
0
! pip install selenium
from selenium import webdriver
browser = webdriver.Chrome('c:/인프라수업자료/chromedriver')
url = 'https://www.netflix.com/kr/browse/genre/839338'
browser.get(url)
html = browser.page_source
from bs4 import BeautifulSoup
soup = BeautifulSoup(html,'html.parser')
section_list = soup.select('section')
results = []
for section in section_list:
section_title = section.select('h2')[0].text
program_list = section.select('li')
for program in program_list:
program_title = program.select('span.nm-collections-title-name')[0].text
program_img = program.select('img')[0]['src']
program_link = program.select('a')[0]['href']
data = [section_title,program_title, program_img, program_link]
results.append(data)
import pandas as pd
df = pd.DataFrame(results)
df.columns = ['카테고리', '프로그램명', '이미지', '링크']
df.to_excel('c:/인프라수업자료/엑셀파일저장하기.xlsx')
section_title설정해줄 때 [0].text를 해줬는데도 엑셀파일 상에서 카테고리명이 저렇게 나타나요. 그리고 데이터 이미지도 일부분은 주소가 잘 써져있는데 일부분은 저렇게 나타나는데 왜그럴까요..??
답변 1
0
동일한 코드로 테스트를 해봐도 이상이 없는데,, 이상하네요.
section_title = section.select('h2')[0].text
실제 실행하셨을때에는 위 코드가 아닌
section_title = section.select('h2')
코드로 실행이 되었을 것 같습니다.
(혹은,, 아래 부분에서 한번 더 실행이 되었을 수도 있을 것 같네요)
쥬피터노트북으로 실행중이시면
코드 하나 하나 정리해보면서 실행해보시는 것을 추천드립니다.
넥플릭스 이미지 주소의 경우에는
넷플릭스 크롤링(1page 크롤링) - 프로그램 정보 수집하기 강의에서 18분 이후부터 설명 드렸던 것 처럼
화면에 보이는 이미지만 가져오기 때문에 그렇습니다.
강의 내용 한번 더 확인 요청드려요
감사합니다!!