[python] Beautiful Soup로 웹 페이지에서 특정 링크 속성 추출하기
웹 스크래핑을 할 때, 웹 페이지의 특정 요소들을 추출해야 할 때가 있습니다. 예를 들어, 웹 페이지 내에 있는 모든 링크의 속성을 추출하고 싶다고 가정해봅시다. 이때, Python 패키지인 Beautiful Soup를 사용하면 간단하게 웹 페이지에서 특정 링크 속성을 추출할 수 있습니다.
Beautiful Soup 설치하기
먼저, Beautiful Soup를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다:
pip install beautifulsoup4
웹 페이지에서 링크 속성 추출하기
다음은 Beautiful Soup를 사용하여 웹 페이지에서 모든 링크의 href 속성을 추출하는 예제 코드입니다:
import requests
from bs4 import BeautifulSoup
# 웹 페이지의 URL
url = 'http://example.com'
# requests를 사용하여 HTML 코드 가져오기
response = requests.get(url)
html = response.text
# BeautifulSoup 객체 생성
soup = BeautifulSoup(html, 'html.parser')
# 모든 링크 태그(<a>) 가져오기
links = soup.find_all('a')
# 링크의 href 속성 추출하기
for link in links:
href = link.get('href')
print(href)
위의 코드는 다음과 같은 작업을 수행합니다:
- requests를 사용하여 웹 페이지의 HTML 코드를 가져옵니다.
- Beautiful Soup 객체를 생성하여 HTML 코드를 파싱합니다.
- 모든 링크 태그(
<a>
)를 찾습니다. - 각 링크의 href 속성을 추출하여 출력합니다.
결론
Beautiful Soup를 사용하여 웹 페이지에서 특정 링크 속성을 추출하는 것은 매우 간단합니다. 이를 통해 웹 스크래핑 작업을 수행할 수 있습니다. 위의 예제 코드를 참고하여 원하는 속성을 추출해보세요.
참고 자료
- Beautiful Soup 공식 문서: https://www.crummy.com/software/BeautifulSoup/
- Requests 공식 문서: https://requests.readthedocs.io/en/latest/