작성
·
518
·
수정됨
1
안녕하세요.
강의 잘 듣고 있습니다.
네이버가 새로운 형태로 바뀌었는데
아주 간단한 것이 해결이 안되네요?
이유가 뭘까요?
기본구조는 이렇게 생겼습니다.
<li class="shortcut_item"> <a href="mail.naver.com" class="link_service"> <span class="service_icon type_mail"> ::before ::after </span> <span class="service_name">메일</span> </a> </li> <li class="shortcut_item"> </li>
아래처럼 너무 단순한거라 생각했던 것을 못 가져오네요?
확인 부탁드려요~
service_name = soup.find(class_="service_name", string="메일")
print(service_name) # None 출력이 안되네 이유가 뭘까나?
print()
답변 2
1
안녕하세요.
뷰티풀수프만으로는 크롤링이 불가능하게 사이트가 완전히 바뀌어서 강의를 수정해야 하겠네요.
사용하신 문법에는 전혀 문제는 없습니다.
다만, 지금의 네이버는 셀레니움을 함께 사용해야 위 문법을 썼을때 제대로 나오는데 셀레니움은 커리큘럼상 뒤에 있습니다.
일단 강의는 보면서 문법만 익히시고 셀레니움까지 진행하신다면 쉽게 적용하실수 있으실겁니다.
강의는 조만간 업데이트 하도록 하겠습니다.
0
개발자도구에서 보는 html은 지금 보여지는 화면의 html입니다.
그러니까 동적으로 변화가 있으면 개발자도구에서 보여지는 html은 변하게 됩니다.
웹페이지에서 마우스 오른쪽을 눌러 페이지 소스보기를 했을때 나오는 html이 requests를 사용해서 가져오는 html라고 생각하시면 됩니다.
네 감사합니다.
셀레니움으로 해야 한다면 동적으로 바뀌었다는 이야기죠?
개발자도구에서 html문서를 확인한 상황은 동적 느낌이 들지 않더라구요.
그렇게 바뀌었다는 것을 무엇으로 확인할 수 있을까요?