인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

ajh7457님의 프로필 이미지

작성한 질문수

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

데이터 추출하기 - not 선택자 활용

데이터 추출하기 - not 선택자 활용

작성

·

51

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

image.png

 

그대로 했는데 제 선택자는 선택이 되지 않네요. 어디를 고쳐야 하나요

답변 2

0

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

음.. 제가 방금 테스트 해봤을때는 잘 되는데요.

오타일거 같은데 tcol 에서

L 이 아니라 i 로 쓰신거 아닐까요..??

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

AJH7457 님, not 선택자를 활용한 데이터 추출에 대해 문의 주셨네요. Selenium과 같은 도구로 웹 데이터 크롤링을 하는 동안 종종 일어날 수 있는 문제입니다. 선택자가 예상대로 작동하지 않는 경우는 HTML 구조와 선택자가 올바르게 매칭되지 않는 경우가 많습니다.

  1. HTML 구조 확인:

    • 먼저, 개발자 도구(F12)에서 원하는 요소의 HTML 구조를 자세히 확인해 보세요. not 선택자를 사용할 때는 해당 요소의 속성들이 정확히 어떤 것인지 아는 것이 중요합니다.
  2. 올바른 선택자 사용:

    • :not() 선택자는 특정 속성을 가지지 않는 요소를 선택할 때 유용합니다. 예를 들어, 특정 클래스를 가지지 않는 모든 <div> 태그를 선택하고 싶다면 div:not(.some-class)와 같은 방식으로 사용할 수 있습니다.
    • 그러나 선택자가 복잡한 경우 잘못된 조합으로 인해 선택이 되지 않을 수 있으므로, :not() 안의 조건을 명확히 설정하세요.
  3. 대상 요소 범위 좁히기:

    • 만약 선택자가 너무 많은 요소를 선택하고 있다면, 더 구체적인 상위 요소를 기준으로 선택 범위를 좁히세요.

다음은 일반적인 예제입니다:

# 예시: 클래스 'active'가 아닌 모든 li 요소 선택
elements = driver.find_elements(By.CSS_SELECTOR, "li:not(.active)")

관련 참고 자료:
1. 셀레니움에서 선택자 사용하기
2. HTML 구조 분석과 선택자 활용

위의 자료들을 참고하시면서 실험해 보시면 도움이 될 것입니다. 선택자가 예상대로 작동하지 않는다면, 다시 한번 HTML 요소를 확인하시고 선택자를 조정해 보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

ajh7457님의 프로필 이미지

작성한 질문수

질문하기