inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

현존 최강 크롤링 기술: Scrapy와 Selenium 정복

실전 크롤링: 댓글부대? 다음 뉴스 기사의 댓글 가져오기2

정렬 옵션 바꾸기

188

miji.lee

작성한 질문수 11

0

강사님 안녕하세요.

부트캠프부터 잘 듣고 있습니다, 좋은 컨텐츠 감사드려요.

다름이 아니라 다음 뉴스 댓글이 조금 바뀐 것 같더라고요.

이제는 추천댓글이라고 10개 남짓만 떠서 여러번 더보기 클릭이 안되고, 댓글 정렬 방식을 먼저 변경해야만 가능합니다.

그래서 "찬반순" 버튼의 태그를 뽑아 ActionChains로 클릭할 생각이었어요.

그런데 해당 버튼의 태그인 div.cmt_box > ul.list_category > li.on > button > span 가 페이지 소스에 존재하지 않더라고요. 꼭 동적 데이터처럼요.

아래가 페이지 소스 화면입니다.

왜 이렇게 나오는 건가요? 이 버튼들의 태그를 뽑아내는 것은 불가능할까요?

조언 부탁드립니다.

selenium 웹-크롤링 scrapy

답변 1

0

잔재미코딩 DaveLee

안녕하세요. 말씀하신 부분은 자료와, 새소식에 일전에 공지를 드렸던 사안이예요.

추가로, 태그가 동적으로 생성되더라도, selenium 은 동적 태그를 선택하실 수 있습니다. selenium 이 동적 태그를 선택할 수 있는 기능때문에 사용하는 것이니까요. 우선은 이 부분이 이해가 안가신다면, 업데이트한 자료를 기반으로 하나의 뉴스를 한번의 댓글만 가져와서, 크롤링하는 기능에 우선 집중해 보시는 것이 좋을 것 같습니다. 말씀하신 코드를 제가 작성해서 공유하면, 다음측에서 또다시 웹페이지를 변경할 것 같습니다. 다음 뉴스를 엄청 크롤링하는 상황이 되서요. 그래서 이 부분은 코드 공유는 하지 않는 것이 여러모로 좋을 것 같습니다. 이 부분은 양해를 부탁드립니다.

감사합니다.

----------------

안녕하세요. 잔재미코딩 Dave Lee 입니다.

다음 뉴스 사이트 변경 관련 크롤링과 관련해서, 업데이트 사항을 공유드립니다.

최근,  다음 사이트 자체에서 더보기 버튼을 한번만 노출하고, 전체 댓글은 안보여주도록 사이트 자체를 바꾼 것으로 보입니다. 더보기 버튼 관련 태그도 변경이 있었습니다. 크롤링 코드를 많은 분들께서 테스트하다보니... 크롤링 자체를 막기 위함으로 보여집니다. 

다만, 동적 크롤링 기술이 정상 동작하는지는 업데이트한 코드로 최대 댓글 20개까지 가능은 하니, 관련 기술을 익히고, 테스트까지 해보는데에는 문제가 없습니다.

관련 코드/자료는 기존 코드/자료가 업로드된 다음 챕터에서 확인하실 수 있습니다.

- 실전 크롤링:댓글부대? 다음 뉴스 기사의 댓글 가져오기1

상세 코드 변경 사항

- 2020.10.06 코드/자료 변경 사항

  - 다음 사이트에서 이제부터는 댓글 더보기 버튼을 한번만 누를 수 있고, 전체 댓글을 볼 수 있는 메뉴 자체는 삭제하였습니다.

  - 더보기 버튼 태그도 일부 변경하여, 기존 코드로는 크롤링이 안되도록 변경하였습니다.

  - 다만, 더보기 버튼을 한번 누르고 댓글을 가져오는 기능은 가능하므로, 동적 크롤링 기술이 정상동작함은 기존과 같이 변경된 코드로 확인은 가능합니다.

  - 최대 댓글 20개까지 가져올 수 있고, 이후 댓글은 다음 사이트 자체에서도 제공하지 않습니다.

  - 코드 변경 사항: 태그가 '#alex-area > div > div > div > div.cmt_box > div.alex_more > a' 에서 '#alex-area > div > div > div > div.cmt_box > div.alex_more > button' 으로 변경되었습니다.

코딩을 잘 따라 한 것 같은데 오류가 발생하는 것 같습니다

0

626

1

scrapy를 jupyter 환경에서 할 수 있나요

0

360

1

[실전 크롤링: scrapy 크롤링 팁] 질문있습니다.

0

313

1

[실전 크롤링: 지마켓 크롤링하며, scrapy 실전 활용법 익히기1] 5분50초쯤 질문

0

221

1

[강력/최신 크롤링 기술: Scrapy 로 지마켓 크롤링하기1] 관련 질문

0

279

1

xml을 parsing할때 <을 &lt; 로 인식합니다.

0

334

1

pipelines.py에서 process_item내에서 print문이 작동을 하지 않네요 ㅠ

0

292

3

PhantomJS 문의

0

294

1

selenium 문의

0

329

1

브라우저 제어해서 크롤링하기 - 처음강의 마지막부분 문의

0

3004

1

on error 해결 방법 질문

0

356

1

[팁] 윈도우 cmd 커맨드

0

347

1

[팁]Chrome User Agent 아는법

0

327

1

실전 크롤링: 브라우저를 제어해서 트위터 사이트 로그인 하기 질문

0

254

1

동영상 강의 만드실 때 사용한 툴을 알려주실 수 있을까요?

0

237

1

CSS Selector 에서 질문이 있습니다.

0

435

2

pip install scrapy 오류

0

483

1

셀레니움 실행불가

0

1577

1

실전 크롤링: XPATH와 Selenium 활용해서 페이스북 로그인 하기 에서 질문이 있습니다.

0

226

1

언제 get_text()를 사용하고 또 언제 .text를 사용하나요?

0

287

1

강의교안자료 받을수있을까요?

0

263

1

[강의 9:27관련 질문] price, title 열 위치

0

160

1

div에 있는 클래스가 2개이면 어떻게 하나요?

0

367

1

css 셀렉터에 대해 질문이 있습니다.

0

147

1