기타/기타 잡다한 것들

2. BeautifulSoup 여러 개의 요소 추출하기 (find_all())

제주도소년 2018. 9. 18. 14:48

html 에서 태그는 한두개만 있는게 아니고 엄청 많기 때문에 ..


BeautifulSoup 라이브러리에서는 find_all() 메서드를 제공합니다.


해당 메서드로 여러 개의 태그를 하 번에 추출 할 수 있습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from bs4 import BeautifulSoup
 
html = """
<html>
<body>
<a href="http://www.naver.com">naver</a>
<a href="http://www.daum.net">daum</a>
<a href="http://www.google.com">google</a>
<a href="http://www.bufs.ac.kr">bufs</a>
</body>
</html>
"""
 
soup = BeautifulSoup(html, 'html.parser')
 
links = soup.find_all("a")
 
for a in links:
    href = a.attrs['href']
    text = a.string
    print(text, ":", href)
 
cs


16행은 모든 <a> 태그를 추출합니다.


18행에서 links 의 수만큼 반복하면서

19번행에서 링크의 href 속성은 attrs['href']처럼 attrs 속성에서 추출합니다.


결과 값