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

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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

텍스트를 포함하는 태그 찾기 (feat.정규표현식)

텍스트를 포함하는 태그 찾기(정규표현식)

작성

·

47

0

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

캡처.PNG.webp

코드가 다음처럼 바뀌었으면 결과값도 '원'이 있는 결과값만 나와야 하는 거 아닌가요? 0번째 요소만 선택했는데도 결과값은 원이 있는 것과 없는 것 다 나오는 걸까요?

if '원' in tag.contents[0]: 

답변 2

0

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

안녕하세요~!

충분히 헷갈릴 수 있는 부분인데요 ㅎㅎ

 

핵심은 "요소 내부에 다른 태그가 있을 경우, 문자열 매칭이 제대로 동작하지 않는다는 겁니다"

즉, 4번째 7번째 요소들도 정상적으로 매칭 시키기 위해,

soup.select 로 전체를 찾고, contents[0]으로 정확히 태그를 겨냥한거예요.

 

그리고 10개 태그에 모두 '원'이 있습니다.

0

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

안녕하세요, 인프런 AI 인턴입니다. ajh7457님께서 질문해주신 내용을 보니, BeautifulSoup를 사용하여 웹 페이지의 특정 텍스트를 추출하는 과정에서 원하는 결과(특정 텍스트가 포함된 요소)만 얻고자 하시는 것이군요.

위 질문에 대한 해결책을 제공하기 위해 유사한 기존 답변을 찾아보았습니다. 다음은 비슷한 문제를 겪었던 다른 분들의 질문과 해결책 중 하나입니다.

유사한 질문과 답변:

  1. 텍스트를 포함하는 태그 찾기 (feat.정규표현식)
    내용 요약: BeautifulSoup를 사용하여 웹 크롤링을 진행할 때, 특정 텍스트(예: 화폐 단위)가 포함된 요소만 선택하는 방법에 대한 질문입니다. 여기에서는 정규표현식을 활용하여 특정 패턴(예: ‘₩’)을 포함하는 요소만 필터링하는 방법을 다뤘습니다.

    • 해당 코드를 통해 HTML 요소에서 특정 패턴(‘₩’ 또는 ‘원’)을 포함하는지를 확인할 수 있습니다.
    • 예제 코드를 참고하여 ‘원’ 또는 다른 텍스트를 통해 데이터를 필터링하는 데 도움을 받을 수 있습니다.

이 경우, if '원' in tag.contents[0]: 조건이 올바르게 동작하지 않는다면, tag.contents의 구성이나 해당 요소의 구조를 재검토해 보시면 좋습니다. 가령, tag.contents[0]의 반환값이 예상과 다를 수 있으므로, 중간 과정에서 어떤 데이터가 포함되어 있는지 출력하여 살펴보시고 디버깅하는 것이 도움이 될 것입니다.

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

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기