find() 와 findAll()
findAll(tag, attributes, recursive, text, limit, keyword)
tag, attributes
.findAll("태그명", "dict형식의 속성")
recursive
recursive가 True이면 findAll 함수는 매개변수에 일치하는 태그를 찾아 자식, 자식의 자식까지 검색합니다.recursive가 False이면 findAll 함수는 문서의 최상위 태그만 찾습니다.
기본값은 recursive가 True입니다.
text
text는 태그의 속성이 아니라 텍스트 콘텐츠가 일치하는 값을 찾습니다.
예를 들면 예시 페이지에서 text가 "the prince"라는 단어가 몇번 나왔는지 확인하려면
nameList = bsObj.findAll(text="the prince")
print(len(nameList))
이런 형식으로 코드를 입력하면 몇번 나왔는지 확인할 수 있습니다.
limit
페이지의 항목 처음 몇 개에만 관심이 있을때 사용합니다. 이 매개변수는 페이지에 나타난 순서대로 찾으며 그 순서가 원하는 바와 일치한다고 보장 하지는 않으므로 주의 하시길 바랍니다.
keyword
특정 속성이 포함된 태그를 선택할때 사용합니다.
예를 들면 id가 music인 값을 출력하려고 하면 다음과 같이 지정해 주면 됩니다.
bsObj.findAll(id="music")
find(tag, attributes, recursive, text, keyword)
findAll과 비슷하지만 limit가 없습니다. find는 findAll을 호출하면서 limit가 1인 함수입니다. 따라서 1개만 출력합니다.
'Python > Python크롤링' 카테고리의 다른 글
크롤링한 데이터 DB에 저장하기 (0) | 2020.10.28 |
---|---|
Wget을 이용해서 크롤링 시작하기(체험하기) (0) | 2020.10.27 |
파이썬 정규표현식 (0) | 2020.09.08 |
DOM 구조 트리 이동 (0) | 2020.09.08 |
000. chrome driver.exe와 selenium을 이용해 구글 접속하기 (0) | 2019.10.05 |
댓글