아래 포스팅들에서 이어집니다. :-)
2016/08/21 - Html parsing - beautifulsoup4 (child element)
2016/08/21 - Html parsing - beautifulsoup4 (find_all image src)
2016/08/20 - Html parsing - beautifulsoup4 (install)
위 포스팅들을 보면 주로 find_all 에서 class 이름으로 elements를 찾는데요. 전 이게 일반적이라고 봅니다. 대부분의 사이트에서는 class 이름만으로 찾기가 가능하다고 생각하거든요. 이번 포스팅에서는 class가 아니라 다른 attribute를 활용해서 elements를 찾는 것에 대해서 작성해둡니다. 이 포스팅 내용은 아래 URL에서도 찾아보실 수 있습니다.
https://www.crummy.com/software/BeautifulSoup/bs4/doc/#find-all
아래 그림을 보면 a 라는 부분을 파싱하기 위해서 ul을 찾고 li를 찾고 그 하위에 있는 a를 가지고 오기가 불편합니다. 너무 많은 코딩을 해야 하니깐요. 하지만 a를 잘 보면 name으로 payamountkey라는 값을 모두 가지고 있습니다. 이를 활용하면 한 번에 elements를 가지고 올 수 있습니다.
코드를 보면 find_all( 'a', {"name":"payamountkey"} ) 이런식으로 가능합니다.
beautifulsoup4 문서를 보니 다음과 같은 방법으로도 가능합니다. find_all( attrs={"name":"payamountkey"} )
attribute 이름과 값을 적절히 변경할 수 있습니다. 예로 위에 그림에서 key 값이 6800인 elements를 가지고 오고 싶다면
find_all( 'a', {"key":"6800"} )
또 다른 예로 위에 그림에서 href 값이 #인 elements를 가지고 오고 싶다면
find_all( 'a', {"href":"#"} )
'파이썬(python2.7) > 라이브러리,SW' 카테고리의 다른 글
selenium webdriver browser window size (0) | 2018.02.14 |
---|---|
python RoboBrowser login submit (ajax login) (0) | 2017.06.11 |
python RoboBrowser login submit (0) | 2017.06.08 |
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 |