Skip to content

chore(fingerprints): books.toscrape.com 프로필에 재고 수량 수집 경로 반영 - #4

Open
sionstars wants to merge 1 commit into
byungjunjang:masterfrom
sionstars:chore/books-toscrape-profile-update
Open

sionstars wants to merge 1 commit into
byungjunjang:masterfrom
sionstars:chore/books-toscrape-profile-update

Conversation

@sionstars

Copy link
Copy Markdown

무엇을

fingerprints/books_toscrape_com/profile.json 의 selectors / pagination / notes 를 갱신했다.

목록 페이지의 재고는 1000건 전량이 In stock 으로 균일해 사실상 정보가 없다.
실제 수량은 상세 페이지의 In stock (22 available) 에만 있다.

그래서 "재고를 모아줘" 라는 요청은 비용이 두 갈래로 갈린다.

요청 수 소요
목록만 (재고 = 상태) 50 약 1분
목록 + 상세 (재고 = 수량) 약 1,050 약 18분

기존 프로필에는 이 갈림길이 적혀 있지 않아, 다음 수집자가 목록만 긁고
전부 같은 값인 컬럼을 납품하거나 정찰을 다시 해야 했다. 그 판단에 필요한
정보를 프로필에 남긴다.

바뀐 것

  • 평점 셀렉터를 ::attr(class) 로 명시 — 텍스트가 아니라 CSS class 다
  • 재고목록(상태) / 상세(수량) 둘로 분리하고 수량 추출 정규식을 기록
  • 상세링크 셀렉터와 상대경로(../) 처리 방법 추가
  • pagination.total_pages = 50 명시
  • 제목 중복 1건(The Star-Touched Queen)은 수집 오류가 아니라 가격·재고가
    다른 별개 상품이므로 중복 제거하면 안 된다는 점을 기록
  • last_used 를 2026-09-01 로 갱신

리뷰어가 알아둘 것

  • 데이터 파일만 바뀐다. 코드 변경 없음 → 기존 동작에 영향 없음
  • 사다리 1단(plain_get) 으로 수집했다. 안티봇 없음, 에스컬레이션 없음,
    통지 게이트 해당 없음 → consent 블록 없음이 정상
  • robots.txt404(미발행) 다. "허용" 이 아니라 "확인 못 함" 으로 기록해 뒀다
  • 실측 근거: 2026-09-01, 1000건 전량 수집 / 4필드 채움률 100% / 에러 0건
  • 수집 산출물은 output/.gitignore 대상이라 커밋에 포함되지 않았다

🤖 Generated with Claude Code

목록 페이지의 재고는 1000건 전량이 "In stock" 으로 균일해 사실상 정보가 없다.
실제 수량은 상세 페이지에만 있어서, 수량이 필요한 요청은 상세 1000건을 따로
받아야 한다. 다음 수집이 이 비용 차이(목록 50요청 1분 vs 상세 포함 1050요청
18분)를 정찰 없이 미리 알고 판단할 수 있도록 selectors 와 notes 에 남긴다.

- 평점 셀렉터를 ::attr(class) 로 명시 — 텍스트가 아니라 CSS class 다
- 재고를 목록(상태)·상세(수량) 둘로 분리하고 수량 추출 정규식을 기록
- 상세링크 셀렉터와 상대경로('../') 처리 방법 추가
- pagination.total_pages=50 명시
- 제목 중복 1건('The Star-Touched Queen')은 가격·재고가 다른 별개 상품이라
  중복 제거하면 안 된다는 점을 기록
- 2026-09-01 실측(1000건 전량·4필드 채움률 100%) 반영, last_used 갱신

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant