이전 글 :)
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은 구조만 파악하면 끝이긴 한데
구조가 좀 ... 복잡하다면? 혹은 구조적으로 개발된 페이지가 아니라면!!!
파싱이 끝도 없이 복잡해지겠죠 ^^;;
'파이썬(python2.7) > 라이브러리,SW' 카테고리의 다른 글
Html parsing - beautifulsoup4 (find all elements using attribute) (0) | 2017.06.07 |
---|---|
pip Installed Package List -> Text File (2) | 2017.03.04 |
Fabric - get branch name (0) | 2017.02.28 |
Html parsing - beautifulsoup4 (child element) (0) | 2016.08.21 |
Html parsing - beautifulsoup4 (find_all image src) (1) | 2016.08.21 |
Html parsing - beautifulsoup4 (install) (0) | 2016.08.20 |
MariaDB console 에서 ctrl + c 누르면 (0) | 2015.09.11 |
MariaDB - 데이터베이스 재시작 실패 (안될 때) (0) | 2015.08.05 |