- 0
- 이니스프리
- 조회 수 559
BeautifulSoup에서 find를 사용하면 해당 단어가 포함된 요소를 모두 찾습니다.
예컨대 soup.find('div', {'class' : 'table'})을 실행하면
table이라는 단어가 포함된 class를 갖고 있는 모든 div를 검색합니다.
(ex. table tennis라는 class를 포함한 div도 검색되겠죠 ㅎㄷㄷ)
이런 경우에 정확히 해당 단어로 매칭되는 요소를 찾으려면
여러 방법이 있겠지만 다음과 같이 람다 함수를 이용하여 구현할 수 있습니다!
prvs = soup.find_all(lambda tag: tag.name == 'div' and tag.get('class') == ['table'])
cf. 사실 .select() 메서드를 이용하여 CSS 셀렉터로 검색을 하면 이런 문제에서 자유롭긴 해요 ^^
작성자
댓글 0
권한이 없습니다.