inflearn logo
강의

講義

知識共有

南博士のPythonでボット作り with ChatGPT

5강 중 span.decompose() 관련 문의

91

saintheaven78290

投稿した質問数 6

0

5강 기상청사이트 날씨모듈 구현1 중에서

 

다음과 같이 날씨 태그를 살펴보는데

<span class="tmp">4.6<small>℃</small> <span class="minmax"><span>최저</span><span>-</span><span>최고</span><span>-</span></span></span>

 

_span_tmp.span.decompose() 을 통하여

<span class="tmp">4.6<small>℃</small></span>

남기고 모두 지우는데

 

제가 알기로는 span 태그가 모두 사라지는 걸로 알고 있었는데

처음 span 태그는 원래 사라지지 않는건가요??

 

보통의 블로그에서는 처음부터 삭제대상 태그인 경우가 없었던지라 좀 당황스럽습니다.

python 웹-크롤링 챗봇 객체지향 openai-api

回答 1

0

communityai8509

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

역학자님께서 질문하신 decompose() 함수는 BeautifulSoup에서 특정 태그나 노드를 제거할 때 사용됩니다. 예를 들어 span.decompose()는 해당 span 태그와 그 안에 있는 모든 콘텐츠를 제거합니다. 하지만 여기서는 span.tmp 태그 내부의 특정 자식 노드(span.minmax)만을 제거하고자 사용하는 것으로 보입니다.

정확히 말씀드리자면, span.decompose()는 해당 span 자체를 제거합니다. 따라서 코드에서 span.decompose()를 정확하게 어떤 위치에서 호출하는지에 따라 남아있는 태그가 달라질 수 있습니다.

질문에서 제공해주신 HTML 구조를 보았을 때, <span class="tmp"> 태그 안의 특정 <span> 태그만 제거하고 class="tmp"를 가진 태그는 남겨두고 싶으셨던 것 같습니다. 이 경우 코드는 span.minmax.decompose() 처럼 특정 자식 태그를 지정하여 제거하셔야 합니다.

질문 내용과 관련된 추가 정보와 유사한 다른 질문으로 도움을 주실 수 있는 게시물을 안내드리오니, 아래의 링크를 참고하시길 바랍니다.

  1. div 태그 질문드립니다.: 여러 태그와 클래스명을 다룰 때 어떻게 CSS 셀렉터를 사용할 수 있는지에 대해 설명된 게시물입니다.

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

0

saintheaven78290

url2 = f"https://www.weather.go.kr/w/wnuri-fct2021/main/current-weather.do?code={dong}&unit=m%2Fs&aws=N&lat={lat}&lon={lon}"
        r2 = requests.get(url2)
        bs = BeautifulSoup(r2.text, "lxml")
        _span_tmp = bs.select_one("span.tmp")
        _span_tmp.span.decompose()

 

위 코드를 통하여

변경전

<span class="tmp">4.6<small>℃</small> <span class="minmax"><span>최저</span><span>-</span><span>최고</span><span>-</span></span></span>

 

변경후

<span class="tmp">4.6<small>℃</small></span>

 

로 바뀌었습니다.

 

말씀하신대로 span.minmax.decompose() 를 통해서 변경되었으면 이해할수있겠는데

 

처음 부분의 span 도 같이 삭제 안되고 남는 이유가 궁금해서 문의 드립니다.

 

 

6-6

0

8

1

싱글턴패턴

0

6

1

작업형 1 유형 부분

0

11

1

수강평 이벤트

0

17

2

작업형 1 (삭제예정, 구 버전)

0

31

2

강의노트는 어디있나요?

0

17

1

노션 학습 자료 권한 요청

0

17

1

수강기간 연장 문의드립니다.

0

21

1

Singleton 관련 질문입니다.

1

31

2

2유형 레이블 인코딩 VS 원핫 인코딩

0

24

3

part2강의 문의사항입니다.

0

19

2

수강기간 연장 문의드립니다.

0

26

1

인덱스 슬라이싱

0

27

2

코드를 첨부해야하는 이유가 있나요?

0

20

2

44, 45강 실행시 오류

0

77

2

3강 그대로 따라했는데 코드가 아무 결과도 반납하지 않습니다.

0

64

2

맛집 검색 네이버 api 403에러 나는데 현재 막혔나요?

0

785

3

네이버 지도 api 호출 문제

0

391

2

<InlineQuery 활용 주변 맛집 검색 봇 만들기>에 맛집 링크 접속 시 403 에러가 뜹니다

0

121

2

한국 수출입 은행 API 가져올시 오류 발생

0

571

1

본 강의 46째 라인에서 오류가 발생하지 않는 이유가 뭔가요?

0

189

1

개봉 날짜 및 평점 가져오는 코드 추가

0

150

1

can't open/read file: check file path/integrity 오류 발생 시 해결 방법

1

701

1

완성된 코드는 제공되지 않나요?

0

307

1