[파이썬] 웹 페이지의 AJAX 데이터 추출
많은 웹 페이지가 AJAX를 사용하여 데이터를 동적으로 로드하고 표시합니다. 이러한 경우에는 웹 페이지의 소스 코드만으로는 데이터를 추출하기 어려울 수 있습니다. Python을 사용하여 웹 페이지에서 AJAX 데이터를 추출하는 방법을 알아봅시다.
라이브러리 설치
먼저, AJAX 데이터를 추출하기 위해 필요한 라이브러리를 설치해야 합니다. 웹 스크래핑에는 requests
와 BeautifulSoup
라이브러리가 필요합니다. 다음 명령어를 사용하여 설치할 수 있습니다.
pip install requests beautifulsoup4
AJAX 데이터 추출 과정
- 웹 페이지에 요청을 보내기 위해
requests
라이브러리를 사용합니다. - 요청한 페이지의 HTML 소스 코드를
BeautifulSoup
라이브러리를 사용하여 파싱합니다. - 파싱된 HTML 소스 코드에서 AJAX 요청 URL을 찾습니다.
- 찾은 AJAX 요청 URL에 다시 요청을 보내어 데이터를 가져옵니다.
- 가져온 데이터를 필요한 형식으로 가공하여 사용합니다.
예제 코드
다음은 AJAX 데이터를 추출하는 예제 코드입니다. 이 코드는 단순히 AJAX 요청 URL을 출력하는 것이며, 실제 데이터를 추출하는 로직은 추가해야 합니다.
import requests
from bs4 import BeautifulSoup
# 웹 페이지에 요청 보내기
url = "https://example.com"
response = requests.get(url)
# AJAX 요청 URL 찾기
soup = BeautifulSoup(response.text, "html.parser")
ajax_url = soup.find("script", {"src": "ajax.js"}).get("url")
# AJAX 요청 보내기
ajax_response = requests.get(ajax_url)
# AJAX 데이터 가공 및 사용
# TODO: AJAX 데이터를 가공하여 사용하는 로직 추가
위 코드에서 https://example.com
대신 실제 웹 페이지의 URL을 사용하고, ajax.js
대신 실제 AJAX 요청 URL을 찾을 수 있는 선택자를 사용해야 합니다.
결론
Python을 사용하여 웹 페이지의 AJAX 데이터를 추출하는 방법에 대해 알아보았습니다. AJAX 요청 URL을 찾아 요청을 보내고, 가져온 데이터를 필요에 따라 가공하여 사용할 수 있습니다. 이를 통해 동적인 웹 페이지에서 필요한 데이터를 손쉽게 추출할 수 있습니다.