작성 일자 : 2026-04-22기획

친구가 매번 작업할 때 수작업이 힘들다고 하여 크롤링 가능성을 물어봤습니다.
목적은 나름 명확합니다.
본 장터 페이지에서 특정 검색어로 나온 내용들에 대해 엑셀 시트로 옮기는 것이 목적입니다.

클라이언트의 목적은 명확합니다. 원하는 정보는 3개입니다. 식별번호, 이름, 가격
이 3개를 수집해서 정리하길 원합니다.
소목적
첫 배포이기 때문에 클라이언트가 제가 준 코드를 쉽게 사용할 수 있게끔 리드미까지 작성하는 것이 포인트입니다. 개발에 사용되는 시간은 2시간 안쪽으로 소요하여 개발을 완료할 예정입니다.
- 쉬운 배포 (uv 사용법 첨부)
- 읽기 쉬운 엑셀 파일로 전환
설계
필요 기술
검색을 진행하여도, 페이지를 이동하여도 도메인에 변화가 없는 것을 보니 동적 페이지임을 확인했습니다.
정적 페이지가 아니기 때문에 기본적인 html 파서 기술로는 크롤링이 어려운 것을 확인.
bs4 → selenium
혹은 모바일로 접근한 후 playwright를 사용하는 방식으로 고민하게 되었습니다.
FLOW
- 페이지 접근 후 나오는 공지 팝업 끄는 방법 고민.
- 닫기, 일주일간 이 창을 ~ 키워드 기반하여 종료하기
- 사용자가 닫아줄 때까지 대기
- block에서 none으로 바꾸기
<div id="_modal" class="w2modal" style="display: block;"></div>
- 창 옮겨서 창 두개 끄기
- 숫자 10을 100으로 변경 (보기)
- 인덱스만 바꾸면서 내용 쭉 크롤링
- 하다가 기존에 찾았던거 나오면 거기서 종료
구현

전반적으로 프로젝트에 대한 전반적인 이해를 가진 상태로 codex에 들어가야합니다. 애매하게 아는 상태에서 진행하면 나도 모르고 codex도 모르는 상태가 됩니다.
mf_wfm_container_tabShopSubHeader_contents_tabShopLstFormCon_body_genLstGdsList_0_itemIdnfNm
mf_wfm_container_tabShopSubHeader_contents_tabShopLstFormCon_body_genLstGdsList_0_itemIdnfNo
mf_wfm_container_tabShopSubHeader_contents_tabShopLstFormCon_body_genLstGdsList_0_itemIdnfNo
구현 완료
시행착오
-
브라우저에서 개발자 모드 사용 시 팝업창과 함께 크롤링을 막아둔 것 같은 현상이 발견됨.
-
- 페이지 이동하지 않는 이상 사용에 지장은 없기에 조금씩 진행함.
-
한계점
개선점
how to crawl?
- 정적 사이트 크롤링
- 동적 사이트 크롤링
정적 - HTML - 모든 내용 다있음
- HTML parser
- selector? GPT ()
→ beautiful soup 4
동적 - 마우스 움직이고 직접 클릭 움직이거나 특정조건 → 동적
- 크롬창 직접 띄워야함.
- headless 크롬창이 안보임
- headless 안쓰면 무거움
- 동적 사이트 특징 - 봇 방지가 많음 (사람임을 확인하세요)
- recaptcha
→ selenium
모바일을 필요 모바일 버전 〰️ playwright