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

suki님의 프로필 이미지

작성한 질문수

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

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

광고상품 외 표기 문의드립니다.

작성

·

346

·

수정됨

2

안녕하세요. 답변 감사드립니다.

전체 코드를 첨부하여 다시 문의글 작성하였습니다.

쿠팡 광고상품과 로켓상품도 표기하고자 합니다.

if len(link.select(".ad-badge-text")) > 0:

print("광고상품")

를 아래와 같이 수정하면 될까요?

해봤는데 아무표기가 안되서요.

 

if len(link.select("span.badge rocket")) > 0:

print("로켓상품")

 

그리고 광고상품 로켓상품 둘다 표현하고자 하면

아래와 같이 표기하면 될까요?

if len(link.select(".ad-badge-text")) > 0:

print("광고상품")

elif len(link.select("span.badge rocket")) > 0:

print("로켓상품")

광고상품은 광고상품이라고 잘 표기가 되는게 로켓상품은 전혀 결과가 나오지 않아서요.

첨부.jpg

 

 

답변 2

1

badge rocket

이렇게 이름 사이에 공백이 있으면 2개이고,

bage_rocket 이나 bageRocket 이런식으로 공백없이 연결되어 있으면 1개입니다.

 

사과를 왜 사과라고 하지 감이라고 하면 안되나? 하고 이유를 생각하지 않듯이 이것은 약속입니다. 공백이 있으면 공백을 기준으로 나누어서 2개라고 생각하면 됩니다.

만약,

class='badge rocket star'

이런식으로 되어 있다면 2개의 공백으로 택스트가 나누어져 있기 때문에 3개입니다.

 약속은 이해하는 것이 아니라 외우는 것입니다.

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

설명 엄청 잘하시는데요....?

나중에 강의도 도전해 보세요 (농담 아님)

질문자님 완강에 도움이 되었으면 합니다.

감사합니다.^^

1

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

여러 개의 class 명이 들어 있는 경우 선택자를 공백없이 이어 붙이면 되는데요.

지금 로켓배송 class 속성은 2개 입니다.

  1. badge

  2. rocket

선택자를 만들면

".badge.rocket" 이렇게 됩니다.

개발자 도구 element 탭에서 [ctrl+f]를 누른 후 선택자를 제대로 만들었는지 확인 후에

코드에 적용해 보는 습관을 길러 보세요 ^^

suki님의 프로필 이미지
suki
질문자

답변 감사합니다. 초보라 모르는 부분이 많습니다.

추가로 궁금한게 있는데 class가 'badge rocket' 이렇게 1개 아닌가요?

 

suki님의 프로필 이미지

작성한 질문수

질문하기