이전 글 :)


2016/08/20 - [Python/libraries] - Html parsing - beautifulsoup4 (install)

2016/08/21 - [Python/libraries] - Html parsing - beautifulsoup4 (find_all image src)




이번에는 특정 element의 child element의 값을 얻는 과정을 간단하게 작성해두려고 합니다. 



먼저 사용하려는 웹 소스는 제 블로그이구요. http://ngee.tistory.com 


현재 여러분은 이 글을 읽고 있다면 접속하신 상태겠군요 !!!

아무튼 왼쪽에 카테고리가 보이는데 이걸 파싱해보겠습니다.


소스를 보니 <ul class="category_list"> 하위에 li로 구성되어있네요.  (빨간색으로 표시된 부분)






이렇게 해보려고 합니다. 


1. <ul class="category_list"> 를 얻는다.

2. 하위 child 중에서 a 태그 값을 얻고 그 안에 있는 텍스트를 get 한다 !! 



말로 작성하려니깐 복잡하지만 코드는 간단할꺼에요.



24 라인에서 find_all 함수를 잘 봐주세요. 

"ul"을 모두 find_all 하는데 class 이름이 "category_list" 인 녀석만 가져와라 입니다.


여기서 category_list 라는 class를 여러 군데서 사용하면 문제가 되겠죠?? 

하지만 딱 봐도 이 class는 한 군데서 사용할만한 이름이네요. 


여러 군데서 사용하고 있으면 하나 더 상위 element를 찾아서 하위를 검색하는 방법을 사용해야겠습니다.


다음 26 라인을 보면 검색되어 저장된 변수 category_ul 에서 또 find_all 합니다. a 태그를 검색하라고요.

이러한 방식으로  child element를 계속해서 검색할 수 있어요 :)






아래는 결과화면입니다 :)








html parsing은 구조만 파악하면 끝이긴 한데

구조가 좀 ... 복잡하다면? 혹은 구조적으로 개발된 페이지가 아니라면!!!

파싱이 끝도 없이 복잡해지겠죠 ^^;;


+ Recent posts