파이썬에서 BeautifulSoup 의 find
BeautifulSoup을 사용하면서 find를 경우에 따라서 사용하고 있다
한번쯤 정리를 해보고 넘어가는 것이 기억에도 남고, 지속적으로 내 자산이 될 것이다
find 가 하는일
find 는 해당인자를 찾는 역할을 한다
아래 소스로는, 첫번째의 <table> ------------------- </table> 이 나오는 것을 확인할 수 있다
soup = BeautifulSoup(html, 'html.parser')
content_table = soup.find('table')
print(content_table)
data_result = soup.find('table')
f2data = data_result.find("tr")
print(f2data)
find안의 문자에 따옴표를 한개를 사용해도, 두개를 사용해도, 결과는 같다.
처음으로 존재하는 다음 구문을 가져온다
<tr> </tr>
쫌 더 확장을 해보자
스크립트에는 속성을 가진 것들이 있다
지금까지의 방법으로, <tr class= "first"> 이런 구문을 가져오기 위해서 테스트를 해보았다
f2data = data_result.find('tr class')
print(f2data)
결과는 None으로 찍힌다
단순히 문자를 찾는 개념이라면 'tr class' 로 검색했을때 어떤 값이라도 나왔어야 하는데
단순한 생각으로 원하는 결과를 얻지는 못했다
그럼.. find로는 각 속성까지 찾지 못하는 걸까?
아니다
다음과 같은 방법이 있다
f2data = data_result.find("tr", {"class":"first"})
print(f2data)
원하는 다음의 구문을 가져오는 것을 성공하였다
<tr class= "first"> --------------- </tr>
'프로그래밍 > 파이썬 Python' 카테고리의 다른 글
[파이썬 Python] mac버전으로 Python에 BeautifulSoup 설치하기 (0) | 2017.09.06 |
---|---|
[파이썬 Python] 파이썬으로 크롤링 도전하기 (0) | 2017.09.06 |