inflearn logo
Khóa học

Khóa học

Chia sẻ kiến thức

Bài viết của itibeau

itibeau itibeau

@itibeau5681

Số lượng đánh giá đã viết
-
Xếp hạng trung bình
-

Bài viết 1

Hỏi & Đáp

셀레니움 csv 오류

답변 감사드려요. 그런데 제가 이미 강의 보고 기재한 거랑 동일해요. 해결하고 다음으로 넘어가고 싶은데 넘 답답하네요. 혹시 문제가 어딘지 봐주실 수 있으실까요? Chrome 드라이버는 Chrome 설정정보인 99로 받았습니다. 혹시 이거에 따라 달리 적용해야 하는 부분이 있을까요? 바쁘실텐데 부탁드려요. from selenium import webdriver from selenium . webdriver . common . keys import Keys import time import csv # 브라우저 생성 browser = webdriver . Chrome ( 'c:/chromedriver.exe' ) # 웹사이트 열기 browser . get ( 'https://www.naver.com' ) browser . implicitly_wait ( 10 ) # 로딩이 끝날 때까지 10초까지는 기다려줌 # 쇼핑메뉴 클릭 browser . find_element_by_css_selector ( 'a.nav.shop' ). click () time . sleep ( 2 ) #셀레니움은 다소 올래걸림 # 검색창 클릭 search = browser . find_element_by_css_selector ( 'input.co_srh_input._input' ) search . click () # 검색어 입력 search . send_keys ( '아이폰 13' ) search . send_keys ( Keys . ENTER ) # 스크롤 전 높이 before_h = browser . execute_script ( "return window.scrollY" ) # 무한 스크롤 while True : # 맨 아래로 스크롤을 내린다. browser . find_element_by_css_selector ( "body" ). send_keys ( Keys . END ) # 스크롤 사이 페이지 로딩 시간 time . sleep ( 1 ) # 스크롤 후 높이 after_h = browser . execute_script ( "return window.scrollY" ) if after_h == before_h : break before_h = after_h # 파일 생성 f = open ( r "C:\startcoding_crawling \03 _네이버_쇼핑_크롤링\data.csv" , 'w' , encoding = 'CP949' , newline = '' ) csvwriter = csv . writer ( f ) # 상품 정보 div items = browser . find_elements_by_css_selector ( ".basicList_info_area__17Xyo" ) for item in items : name = item . find_element_by_css_selector ( ".basicList_title__3P9Q7" ).text try : price = item . find_element_by_css_selector ( ".price_num__2WUXn" ).text except : price = "판매중단" link = item . find_element_by_css_selector ( ".basicList_title__3P9Q7 > a" ).get_attribute( 'href' ) print ( name , price , link ) # 데이터 쓰기 csvwriter . writerow ([ name , price , link ]) #파일 닫기 f . close ()

Lượt thích
1
Số bình luận
2
Lượt xem
1003