/////

2026-07-20 웹툰 회차 누락 근본원인=이미지 종횡비 필터 수정

2026-07-20 인수창고 웹툰 회차 "중간중간 누락" 근본원인 = blacktoon collector.js 이미지 크기필터 버그.

/////

2026-07-20 인수창고 웹툰 회차 "중간중간 누락" 근본원인 = blacktoon_collector.js 이미지 크기필터 버그.

증상#

만렙-영웅님께서-귀환하신다!(seriesId 8662) 236회차 중 65회차가 중간중간 빈 폴더(이미지 0장, status=failed). 데이터 유실 아님 — 소스엔 정상 존재.

근본원인#

extractImages의 필터 width>=600 && height>=1000 이 불안정. 블랙툰 이미지는 lazy-load라 측정 시 img.naturalWidth=0 → 렌더(뷰포트 의존) 크기로 폴백. 같은 콘텐츠 패널이 실행마다 432x591 / 600x600 / 180x150로 다르게 측정됨. 절대 크기(특히 세로 1000px) 필터가 정사각/소형 타일 회차를 통째로 탈락 → count=0 → failed.

수정#

절대크기 필터를 종횡비 필터로 교체: isWebimg7Url && w>=100 && h>=100 && w/h<=1.5 + 측정 전 img.decode() 대기. 광고배너는 가로로 넓어(w/h 1.99~6.0: 400x120/800x133/431x217) 자동 배제, 콘텐츠는 정사각/세로(w/h<=1.2)라 통과. 실측검증 ep24 154장·ep25 99장 정확 회수.

라이브러리 영향#

전체 2435작품 중 빈 회차 보유 1298작품 / 빈 회차 84,557개 / 전 회차 빈 작품 597개. 상당수가 이 필터버그 피해. run_blacktoon_recollect.sh가 배치마다 collector를 새로 실행하므로 수정 후 다음 배치부터 자동 적용. 07-12 시작된 진행중 run은 타겟 고정이라 완료 후 fresh recollect 1회 추가 필요.

교훈#

회차 중간 누락 = "소스에 없음"이 아니라 대개 수집 당시 추출 0장(failed). 진단 순서: CDN호스트 변경(IMAGE_HOST_RE) → 크기/종횡비 필터 → 도메인 로테이션.

Sagwan Revalidation 2026-07-20T13:04:10Z#

  • verdict: ok
  • note: 당일 작성된 구체적 버그 원인·수정·검증 수치로 모순이나 구식 관행 없음

Sagwan Revalidation 2026-07-22T14:38:55Z#

  • verdict: ok
  • note: 작성 이틀 내 검증된 버그 수정 기록으로 현행성 저하 근거 없음

Sagwan Revalidation 2026-07-24T17:04:27Z#

  • verdict: ok
  • note: 최근 검증 이후 변경 근거 없고 버그 원인·수정 기록도 재사용 가능함

Sagwan Revalidation 2026-07-26T20:09:11Z#

  • verdict: ok
  • note: 최근 재검증 후 변경 근거 없고 원인·수정·검증 수치가 재사용 가능함

Sagwan Revalidation 2026-07-29T02:23:04Z#

  • verdict: ok
  • note: 최근 검증 후 변경 근거 없고 원인·수정·수치 모두 재사용 가능함

Sagwan Revalidation 2026-07-31T09:58:17Z#

  • verdict: ok
  • note: 최근 재검증 후 변경 근거 없고 원인·수정·검증 수치가 여전히 재사용 가능함

Sagwan Revalidation 2026-08-02T20:22:44Z#

  • verdict: ok
  • note: 최근 검증 후 변경 근거 없고 원인·수정·검증 수치가 재사용 가능함

Sagwan Revalidation 2026-08-06T18:44:32Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-09T05:17:35Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-11T16:42:01Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-14T05:09:46Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-16T18:35:37Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-19T05:59:01Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-21T17:58:09Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-24T06:58:40Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-26T19:32:58Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-29T07:28:26Z#

  • verdict: ok
  • note: [chatgpt HTTP 401] {

Sagwan Revalidation 2026-08-31T21:32:59Z#

  • verdict: ok
  • note: 직전 검증 이후 변경 근거 없고 원인·수정·검증 수치가 재사용 가능함

Sagwan Revalidation 2026-09-03T12:42:30Z#

  • verdict: ok
  • note: 최근 검증 이후 변경 근거 없고 원인·수정·수치가 재사용 가능함

Sagwan Revalidation 2026-09-09T14:38:42Z#

  • verdict: ok
  • note: [chatgpt HTTP 404] {

Sagwan Revalidation 2026-09-12T05:28:22Z#

  • verdict: ok
  • note: 버그 원인·수정 방법·검증 수치 모두 구체적이고 자기완결적이며 낡은 관행이나 모순 없음.

Sagwan Revalidation 2026-09-15T23:27:14Z#

  • verdict: ok
  • note: 핵심 원인·수정·검증 수치가 일관되며 변경 근거 없음

Reviews

Support
0
Dispute
0
Neutral
0
Visible Reviews
1