inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

다음뉴스 댓글 크롤링 도움 부탁 드립니다. On/Off 버튼 클릭이 안되어요 ㅠ

361

allrounder

작성한 질문수 6

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
잔재미코딩님의 셀레니움&스크래피 강좌를 듣고 있는데, 해당 게시물에 질문이 안되네요..?ㅠ 오래되서 그런가,,
그래서 전체 게시물에 질문 한 번 드려봅니다.
 
강좌는 이미 펼쳐져있는 댓글 창에서 '더보기'를 누르고 추가적으로 크롤링을 하는 코드를 알려주었는데요,
이후에 다음에서 On/Off버튼이 생겨 댓글이 기본적으로 닫혀있어서 아래 크롤링을 수행하려면 On/Off 버튼도 한 번 눌러줘야 하는 상황입니다. 도움 주실 수 있으신 분 있으시다면,, 한 번만 부탁 드리겠습니다.
 
 
안녕하세요? 기존 강좌 제작 시점과 달리 댓글은 기본적으로 닫혀 있고 on/off 버튼을 눌러야 댓글이 보이게 됩니다.
강의 활용해서 on_button 변수를 만들고, 이를 클릭할 수 있도록 한 번 꾸며 봤는데요,
태그도 바꿔보고, 함수도 바꿔보고, 다양한 방법으로 시도를 해봤는데, On/Off 버튼을 누르는 것을 못합니다 ㅠ
태그도 div.cmt_count_box까지만 해보고, button까지도 해보고, span까지도 해보고, 다양한 방법으로 시도 해봤습니다.
 
on_button = driver.find_element_by_css_selector('alex-area > div > div > div > div.cmt_count_box > button') webdriver.ActionChains(driver).click(on_button).perform()
 
아무래도 눈으로 보고 직접 체득해야 실력이 Up되지 않을까 해서 강의만 보고 넘어가기 보다는, 한 번 직접 구현해보고 싶어 문의 드리고자 합니다. 기초 강의 때에는 조금씩 페이지가 바뀌는 부분도 쉽게 해결이 되었는데, 나름 중급이라 조금 어렵네요 ㅎㅎ
도움 부탁 드려 보겠습니다!
 
 
[작성코드]
 
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.common.exceptions import TimeoutException import time chromedriver = '/usr/local/chromedriver' driver = webdriver.Chrome(chromedriver) driver.get('https://news.v.daum.net/v/20190709165157301?d=y') #댓글창 On/Off 버튼 누르기 - 게속 안됨 ㅠ element = WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.CSS_SELECTOR, 'alex-area > div > div > div > div.cmt_count_box > button'))) on_button = driver.find_element_by_css_selector('alex-area > div > div > div > div.cmt_count_box > button') webdriver.ActionChains(driver).click(on_button).perform() #더보기 누르기 로직 만들기 loop, count = True, 0 while loop and count < 10: try: element = WebDriverWait(driver, 5).until( EC.presence_of_element_located((By.CSS_SELECTOR, 'alex-area > div > div > div > div.cmt_box > div.alex_more > button')) ) more_button = driver.find_element_by_css_selector('alex-area > div > div > div > div.cmt_box > div.alex_more > button') webdriver.ActionChains(driver).click(more_button).perform() count = count + 1 #count += 1로도 가능 time.sleep(2.0) except TimeoutException : loop = False #크롤링하기 comment_box = driver.find_element_by_css_selector('alex-area > div > div > div > div.cmt_box > ul.list_comment') comment_list = comment_box.find_elements_by_tag_name('li') #각각 댓글은 li가 감싸고 있음 for num, comment_item in enumerate(comment_list) : print("[",+str(num+1),+"]", comment_item.find_element_by_css_selector('div p').text) driver.quit() #alex-area > div > div > div > div.cmt_count_box > button > span <- on/off #alex-area > div > div > div > div.cmt_box > div.alex_more > button > span:nth-child(1) <- 더보기버튼 #alex-area > div > div > div > div.cmt_box > ul.list_comment <- 댓글리스트

잔재미코딩 크롤링 파이썬 제발 다음뉴스

답변 1

0

문지

on_button = driver.find_element_by_css_selector('button.btn_foldup').click()

새로운 개발환경 조합 Next.js + Supabase

0

106

2

크롤링 관련 질문

0

122

1

아나콘다 윈도우즈 설치 시, 다른 설치만 보입니다.

0

384

2

[진짜 쉬운 책 추천] 크롤링부터 너무 어렵네여

0

309

1

[2-4 숲속의기사]

0

417

1

시트 이름 지정하려는데 title 명령이 안 먹혀요

0

390

1

return 과 print 질문

0

467

1

파이썬 구구단 코드 질문

0

553

1

tkinter에서 버튼 커맨드를 설정할 때 명령을 2개 넣을 수 있나요?

0

570

0

별건 아니지만 궁금한점

0

311

1

URL 문제

0

391

0

이 강의 수강 도중 오류가 발생했어요!

0

273

1

데이터 전체에 대한 수익률을 계산하고 싶은데 오류가 뜹니다

0

333

0

데이터 시각화 도구 소개와 한글폰트 설정 에러

1

2290

1

3:55분부터 이해가 안갑니다

0

276

0

selenium&scrapy문의

0

284

1

아톰에서 script 패키지 검색 시 나오지 않습니다.

1

593

1

쇼핑 크롤링 응용 질문 드립니다.

0

780

1

역인덱스 관련 질문입니다.

0

502

1

파이썬 기본개념

0

355

1

강의 봤을때는 키랑 몸무게 표현이 되는데 저는 아래 적은 코드인 몸무게만 나옵니다 ㅜㅜ

0

347

1

5강 웹크롤링

0

360

1

4.19일부터 시작하는 코딩테스트 스터디원 구합니다.

1

235

0

모듈화 과정에서 pylint 오류가 잔뜩나면서.. 직접 임포트를 하더라도 해결이 안되던데 왜그럴까요?

2

609

1