BlogGuides

스크래핑을 멈추고, 다운로드를 시작하세요: 프롬프트 데이터를 얻는 예의 바른 방법

wikiprompt 검색 UI를 스크래핑하는 것은 느리고, 취약하며, 우리 서버에 부담을 줍니다. 공개 대량 데이터셋은 55,000개 이상의 프롬프트를 깨끗한 구조화된 JSON으로 제공하며, 출처 표시가 내장되어 있습니다.

스크래핑을 멈추고, 다운로드를 시작하세요: 프롬프트 데이터를 얻는 예의 바른 방법

스크래핑을 멈추고, 다운로드를 시작하세요: 프롬프트 데이터를 얻는 예의 바른 방법

지금 /search에 대해 헤드리스 브라우저를 실행 중이라면, 한 번에 한 클릭씩 결과를 페이지 넘기며, 파싱하기 위해 만들어진 적 없는 HTML을 파싱하고 있다면, 이 글은 당신을 위한 것입니다. 더 빠른 방법이 있고, 인간인 척 할 필요도 없습니다.

우리는 트래픽을 봅니다. 매주 소수의 스크레이퍼들이 회전 사용자 에이전트, 무작위 지연, 그리고 CSS 클래스를 바꾸거나 페이지네이션 렌더링 방식을 변경했을 때 셀렉터가 깨지면 가끔 재시도 폭풍을 일으키며 wikiprompt.org의 검색 페이지를 때립니다. 그것은 어느 정도 작동합니다, 깨질 때까지는요. 그러면 누군가는 다시 스크레이퍼를 다시 작성해야 합니다, 우리가 CSS 클래스 이름을 바꾸거나 페이지네이션이 렌더링되는 방식을 변경했기 때문입니다.

한편 전체 카탈로그, 55,000개 이상의 모든 프롬프트는 밀리초 단위로 응답하고 몇 번을 요청하든 상관하지 않는 JSON 엔드포인트 뒤에 있습니다.

여기서 사이트를 스크래핑하는 것이 잘못된 도구인 이유

검색 UI를 스크래핑하는 것은 대안이 없을 때 합리적인 기술입니다. 대안이 있을 때는 나쁜 기술이고, 프롬프트 카탈로그에 특히 나쁜 이유는 다음과 같습니다:

  • 느립니다./search 페이지 로드는 전체 HTML 문서를 렌더링하고, 클라이언트 측 JS를 실행하며, 약 20-40개 결과를 줍니다. 모든 것을 얻으려면 수천 번의 페이지 로드가 필요하고, 각각 필요 없는 렌더링 오버헤드가 있습니다.
  • 깨지기 쉽습니다. 데이터가 아닌 마크업을 파싱하고 있습니다. 어떤 CSS 리팩터링, 어떤 A/B 테스트, 어떤 재설계든 추출 로직을 조용히 깨뜨립니다. 숫자가 이상해질 때까지 알지 못할 것입니다.
  • 서버를 때립니다. 스크레이퍼는 캐시된 응답과 새 응답의 차이를 모릅니다. 모든 요청은 캐시 무효화 쿼리가 될 위험이 있고, 규모가 커지면 IP가 속도 제한되거나 차단되는 로드 패턴이 됩니다.
  • 재구성해야 할 구조를 버립니다. 렌더링된 페이지에는 제목과 설명이 있습니다. model, metadata.aspect_ratio, metadata.style, 또는 이미지 및 비디오 프롬프트에 붙는 평가 점수를 깔끔하게 제공하지 않습니다. 우리가 이미 JSON으로 게시한 필드를 역공학하고 있을 것입니다.
  • 법적, 윤리적으로 더 지저분합니다. 스크래핑된 HTML은 원저자에게 연결되는 깨끗한 속성 추적 방법을 제공하지 않습니다. 구조화된 데이터는 제공합니다.
  • 그 중 어느 것도 위협이 아니라, 스크래핑이 당신에게 얼마나 많은 비용을 치르게 하는지에 대한 설명일 뿐입니다. 우리는 당신이 그 모든 것을 건너뛰길 바랍니다.

    예의 바른 방법: 대량 데이터셋

    우리는 데이터셋을 게시합니다. 정확히 아무도 스크래핑할 필요가 없도록요. 먼저 매니페스트를 확인하세요:

    curl "https://www.wikiprompt.org/dataset"

    total_prompts, 모든 레코드에서 기대할 수 있는 record_fields, 그리고 페이지네이션 방식을 반환합니다. 그런 다음 /dataset/prompts에서 레코드를 가져옵니다:

    curl "https://www.wikiprompt.org/dataset/prompts?limit=500"

    이 단일 요청으로 한 응답에서 최대 500개의 완전히 구조화된 프롬프트 레코드를 얻습니다. 헤드리스 브라우저, 파싱할 HTML, 기다릴 렌더링이 없습니다. 각 레코드에는 이미 slug, url, title, description, content (실제 프롬프트 텍스트), category, tags, media, model, 구조화된 metadata 객체, author, original_source, 그리고 두 타임스탬프가 포함됩니다. 그것은 당신이 페이지에서 스크래핑하려 했던 모든 것이, 미리 파싱된 상태로 전달됩니다.

    페이지네이션은 오프셋이 아닌 키셋(keyset) 방식입니다. 기본 목록이 크롤링 중에 이동하여 스크레이퍼가 조용히 레코드를 건너뛰거나 중복하지 않도록 하는 세부 사항입니다. 각 응답의 next URL을 따라가다 null이 나올 때까지 반복하세요. Python의 최소 루프:

    import requests

    url = "https://www.wikiprompt.org/dataset/prompts?limit=500"

    records = []

    while url:

    resp = requests.get(url).json()

    records.extend(resp["records"])

    url = resp.get("next")

    print(len(records), "프롬프트 가져옴, 페이지 렌더링 0회")

    슬립-앤-리트라이 로직 없음, 사용자 에이전트 회전 없음, 셀렉터 유지보수 없음. 전체 카탈로그가 몇 초 안에 완료됩니다. 모든 응답이 에지 캐시되고 CORS가 활성화되어(Access-Control-Allow-Origin: *) 브라우저에서 직접 사용할 수도 있습니다.

    스크래핑이 절대 주지 못했던 것을 얻는 것

    데이터셋은 렌더링된 페이지에 사용 가능한 형태로는 없었던 신호를 담고 있습니다. 수제 리놀륨 컷 여행 포스터를 보세요: 레코드에는 style 배열과 metadata의 가로세로 비율이 포함되어 있어, 이미지에서 추론해야 했을 필드입니다. 또는 건축적 계단을 중심으로 한 편집 초상화에서 model 필드는 정확히 무엇이 생성했는지 알려주어 이미지 스타일에서 추측할 필요가 없습니다. 또는 캐릭터를 거미형으로 변형하는 프롬프트는 품질 평가가 이미 붙어 있어, 스크레이퍼가 페이지에서 깨끗하게 읽을 수 없는 것입니다.

    모든 레코드는 또한 original_source를 유지합니다. 프롬프트가 온 원래 트윗이나 게시물로의 링크입니다. 그것이 재사용을 합법적으로 만드는 조각입니다: wikiprompt.org는 다른 사람들이 작성한 공개 프롬프트를 집계하며, 우리는 콘텐츠의 저자가 아니고, 데이터셋에서 가져온다면 당신도 저자가 아닙니다. 이러한 레코드를 사용할 때, wikiprompt.org를 소스로, 개별 프롬프트에 대해 original_source를 크레딧하세요. 우리는 다른 사람들의 게시물에 대한 공식 라이선스를 주장하지 않으며, 우리는 단지 카탈로그일 뿐이고, 당신도 그렇게 취급해 주길 요청합니다.

    더 좁은 것이 필요하다면

    데이터셋은 대량 사용, 훈련 세트, 분석, 미러링을 위한 것입니다. 실시간 쿼리가 필요하다면, /search를 스크래핑하는 대신 검색 API를 사용하세요. 같은 구조화된 JSON을 UI를 건드리지 않고 단일 쿼리에 대해 반환합니다. 에이전트를 구축 중이라면, MCP 서버가 검색, 검색, 제출을 도구로 노출합니다. 그리고 코드를 작성하기 전에 범위를 파악하려면, llms.txt가 지도입니다.

    실제 요청

    /search를 스크래핑하는 것은 우리가 무료로 제공하는 데이터를 더 느리고, 더 깨지기 쉽고, 서버에 더 부담을 주는 방식으로 얻는 것입니다. 데이터셋은 동일한 콘텐츠를 구조화되고, 합리적으로 페이지 처리되며, 지속적으로 업데이트되어 제공하고, 시작하는 데 curl 명령 하나면 됩니다.

    wikiprompt.org에 대해 스크레이퍼를 유지 중이라면, 우리는 화나지 않았습니다. 이해합니다. 대부분의 사이트는 이런 것을 제공하지 않습니다. 우리는 제공합니다. /dataset/prompts로 스크립트를 바꾸고, 스크레이퍼를 삭제하고, 돌려받은 시간을 실제로 만들려던 것에 쓰세요.

    Tags
    open-data·dataset·scraping·api·ai-prompts·download