지금은 웹 사이트에서 사용자가 입력한 검색어에 따라 컨텐츠를 검색하는 웹 사이트가 많이 나와있습니다. 이러한 검색 기능을 구현하려면 파싱(parsing) 라이브러리인 BeautifulSoup을 사용할 수 있습니다.
BeautifulSoup이란?
BeautifulSoup은 HTML과 XML 문서를 파싱하여 원하는 정보를 추출하는 파이썬 라이브러리입니다. 간단한 인터페이스와 유연한 기능을 제공하기 때문에 웹 스크래핑이나 데이터 마이닝 작업에 많이 사용됩니다.
필요한 패키지 설치하기
먼저 BeautifulSoup을 사용하기 위해 필요한 패키지를 설치해야 합니다. 파이썬 패키지 관리자인 pip를 사용하여 설치할 수 있습니다.
pip install beautifulsoup4
웹 사이트에서 데이터 가져오기
웹 사이트에서 데이터를 가져오려면 해당 웹 페이지의 HTML 코드를 가져와야 합니다. requests
라이브러리를 사용하여 웹 페이지에 HTTP 요청을 보내고 응답을 받아올 수 있습니다.
import requests
response = requests.get("http://www.example.com")
html_content = response.text
print(html_content)
검색 기능 추가하기
가져온 HTML 코드에서 사용자가 입력한 검색어를 찾아주는 함수를 만들어 봅시다.
from bs4 import BeautifulSoup
def search_keyword(html, keyword):
soup = BeautifulSoup(html, "html.parser")
results = soup.find_all(string=keyword)
return results
위의 함수는 BeautifulSoup의 find_all
메소드를 사용하여 HTML 코드에서 해당 키워드를 포함한 모든 요소를 찾아 리스트로 반환합니다.
검색 결과 출력하기
이제 검색한 결과를 출력해보겠습니다.
keyword = "example"
search_results = search_keyword(html_content, keyword)
if len(search_results) > 0:
print(f"검색 결과: '{keyword}'가 포함된 요소가 {len(search_results)}개 있습니다.")
for result in search_results:
print(result)
else:
print("검색 결과: 해당 키워드를 포함한 요소가 없습니다.")
위의 코드는 search_keyword
함수를 사용하여 검색 결과를 받아오고, 결과가 존재할 경우 결과 개수와 요소의 내용을 출력합니다.
마무리
이제 파이썬 BeautifulSoup을 사용하여 웹 사이트에서 검색 기능을 추가하는 방법을 알아보았습니다. BeautifulSoup은 강력한 파싱 기능을 제공하기 때문에 웹 스크래핑 등 다양한 작업에 활용될 수 있습니다.