
Django REST Framework로 API 만들기 & HTML 요소 수집하기
두줄요약
Django REST Framework로 모델 데이터를 JSON API로 제공하는 과정을 설명했습니다. Selenium과 lxml로 HTML 요소의 XPath·크기·좌표를 수집해 DB와 API에 연동했습니다.
구조와 흐름
- Django 프로젝트·앱 생성, Product 모델 정의와 migration 적용
- ModelSerializer, APIView, URL 매핑으로 Product 목록 JSON API 구성
- Django admin 또는 ORM 기반 데이터 입력 후
/api/product/응답 확인
해결 방법
- Selenium WebDriver로 웹페이지 렌더링 결과와 XPath별 요소 위치·크기 추출
- lxml etree 순회와
getpath()로 전체 HTML 요소의 XPath 생성 - 독립 실행
parser.py에서 Django 설정 초기화 후 XPath, 너비·높이, 좌표를 Data 모델에 저장
선택 이유
- 모델 인스턴스와 queryset의 JSON 변환을 위한 Django REST Framework ModelSerializer 활용
- 요소별 렌더링 크기와 좌표 수집을 위한 Selenium 활용
- 페이지별 id·class·name 대신 트리 구조 기반 XPath로 전체 요소 식별
적용해볼 점
- 수집한 요소 메타데이터를 Django ORM에 적재하고 API로 제공하는 패턴
- headless Chrome 옵션을 활용한 브라우저 기반 수집 자동화




