아래 포스팅들에서 이어집니다. :-)


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":"#"} )








+ Recent posts