bs4.element.NavigableString 타입 변환 방법

조회수 1750회
    url = endpoint + paramset
    result = requests.get(url)

    bs_obj = bs4.BeautifulSoup(result.content, "html.parser")

    list_dlnm = []

    for j in range(len(bs_obj.findAll("dlnm"))):
        list_dlnm.append(bs_obj.findAll("dlnm")[j])  # dlnm 태그 찾기, 리스트 추가
        list_dlnm.append(bs_obj.findAll("vol_3")[j])  # vol_3 태그 찾기, 리스트 추가 

html 문서에서 dlnm 이라는 태그를 찾아 list_dlnm 리스트에 저장하고 있습니다.

리스트 안에 있는 요소들의 합을 구하고 싶은데 아래와 같은 오류메세지로 인해 구할 수가 없었습니다. TypeError: unsupported operand type(s) for +: 'int' and 'NavigableString'

list_dlnm[0]의 타입이 아래처럼 나오는데 str 또는 int 타입으로 바꾸는 방법이 있을까요?

<class 'bs4.element.NavigableString'>
  • (•́ ✖ •̀)
    알 수 없는 사용자
  • html 을 올려보세요. 아니면 주소를 올려보세요. 정영훈 2020.1.6 15:10

1 답변

  • 자문자답입니다... 어찌어찌 해결 봤습니다.

        for j in range(len(bs_obj.findAll("dlnm"))):
            list_dlnm.append(bs_obj.findAll("dlnm")[j].get_text())  # dlnm 태그 찾기, 리스트추가
            list_dlnm.append(int(bs_obj.findAll("vol_3")[j].get_text()))  # vol_3 태그 찾기, 리스트추가
    
    
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)