목록 보기
Django REST Framework로 API 만들기 & HTML 요소 수집하기
백엔드

Django REST Framework로 API 만들기 & HTML 요소 수집하기

너드팩토리
너드팩토리
2021년 2월 24일

두줄요약

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 옵션을 활용한 브라우저 기반 수집 자동화

다음 읽기

#Django 주제를 다룬 다른 회사 글

Django, Django REST framework 본격적으로 사용하기

Django·DRF 프로젝트의 파편화와 API별 중복 구현을 공통 기능으로 개선했습니다.\n커스텀 renderer·예외 처리기와 DB 설정 분리로 표준화와 관리 편의성을 높였습니다.

화해
화해
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...