나는 "코로나"와 관련된 게시글을 크롤링할거다
네이버는 참 복잡하다
일을 하면서 모든 데이터를 확인하기 위해 크롤링 코드를 이제 공부하는 나도 참 답답하지만
어쩔 수 없다.
이렇게 된 이상 셀레니움의 모든 것을 공부하고 싶어진다.
네이버 블로그 페이지를 기본값으로 놔두고
내가 찾고자하는 키워드를 word 변수에 저장하여 실행할때마다 간편하게 사용할 수 있게 구축했다.
word = "코로나"
page_url = "https://section.blog.naver.com/Search/Post.naver?pageNo=1&rangeType=ALL&orderBy=sim&keyword=" + word
wb = Workbook(write_only=True)
ws = wb.create_sheet()
driver = webdriver.Chrome("./chromedriver")
driver.get(page_url)
driver.maximize_window()
driver.implicitly_wait(3)
#첫번째 칸 클릭
driver.find_elements_by_css_selector('div.desc')[0].click() #게시물 갯수 변경(0=첫번째 게시물)
time.sleep(3)
driver.switch_to.window(driver.window_handles[1]) #한번 더 해당페이지를 인식
iframe = driver.find_element_by_id("mainFrame") # id가 mainFrame이라는 요소를 찾아내고 -> iframe임
driver.switch_to.frame(iframe) # 이 iframe이 내가 찾고자하는 html을 포함하고 있는 내용
text = driver.find_element_by_css_selector("div.se-main-container").text
print(text)
driver.switch_to.window(driver.window_handles[1]) #닫을 탭으로 이동 후
driver.close()