2026년 10월 6일 화요일

대학 158곳 · 매체 185곳 · 마지막 수집 2026.10.06 04:42

수집 원칙

대학언론 허브는 대학 학보·방송국·교지·영자신문이 공개한 기사를 찾기 쉽게 모아 각 매체의 원문으로 연결하는 색인입니다. 수집기는 요청 머리글(User-Agent)에 CampusPressHub/1.0이라고 밝히며 브라우저로 위장하지 않습니다.

무엇을 가져오나요?

  • 기사 제목, 발행일, 매체가 제공한 요약, 원문 주소, 작성자 표기만 가져옵니다. 기사 전문과 사진 파일은 저장하지 않습니다.
  • 제목에 [포토]·[사진기사]·[화보] 등을 단 사진 기사는 매체가 기사에 지정한 대표 사진(og:image)의 주소만 기록하고, 사진은 매체 서버에서 그대로 불러옵니다. 영상·쇼츠 카드의 미리보기는 채널이 유튜브에 올린 썸네일을 영상 주소로 유튜브(i.ytimg.com)에서 바로 불러오며, 허브는 그 이미지를 저장하거나 고치지 않습니다.
  • 매체가 직접 운영하는 공개 채널(RSS⁠·기사 목록⁠·PDF 지면⁠·블로그)만 대상으로 합니다. 대학 본부⁠·입학처⁠·홍보단 채널은 수집하지 않습니다.
  • 유튜브 채널 피드는 유튜브의 robots.txt가 피드 주소를 막고 있어 2026년 10월부터 수집하지 않습니다. 그전에 모은 영상 목록만 남아 있습니다.

얼마나 자주, 얼마나 요청하나요?

  • 예약 수집은 하루에 한 번, 한국 시간 자정(00:00)에 시작합니다. 등록된 기사 목록과 피드를 하루에 한 번씩 확인합니다. 목록 하나에는 보통 주소 한 번을 요청하고, 발행일이 목록에 없는 일부 웹 목록만 기사 페이지를 한 번에 3건까지 더 확인합니다.
  • 수집이 끝난 뒤에는 새벽 6시 무렵까지 지난 기사 보충과 사진 기사의 대표 사진 확인을 조금씩 이어서 합니다. 낮에는 매체 서버로 보내는 예약된 요청이 없습니다. 운영자가 점검하려고 수집을 직접 한 번 돌리는 경우는 있습니다.
  • 같은 서버에는 한 번에 한 요청만 보내고, 요청 사이에 3초 이상 간격을 둡니다. 웹 기사 목록과 기사 페이지를 읽을 때는 robots.txt에 Crawl-delay가 더 길게 적혀 있으면 그 값을 따릅니다. 10초보다 길면 수집 한 번에 주어진 시간 안에 지킬 수 없어 요청하지 않습니다. RSS·Atom 피드는 robots.txt를 읽지 않으므로 Crawl-delay를 알지 못하고, 같은 서버에 3초 이상 간격만 둡니다.
  • 요청이 실패한 목록은 보통 다음 날 수집 때 다시 확인합니다. 실패가 이어져도 다시 시도하는 간격은 16시간을 넘기지 않아, 하루에 한 번 확인하는 것은 그대로입니다. 서버가 Retry-After를 보내면 그 시간을 따릅니다. 다만 24시간보다 긴 값은 24시간으로 보고 그때 다시 확인합니다(robots.txt 요청에 보낸 값도 같습니다). 같은 목록이 한 시간 이상 쉬라는 응답을 거듭 받으면, 그 시간이 끝나고 한 시간 반 넘게 더 지난 뒤의 수집 때 다시 요청합니다. 서버가 요청을 줄이라고 응답하면(429, 또는 Retry-After를 붙인 서버 오류) 같은 서버의 다른 목록도 그동안 요청하지 않습니다. Retry-After를 보낸 응답이면 그 시간이 끝날 때까지 쉬고, 없으면 길어도 한 시간입니다. Retry-After 없이 한 목록만 같은 응답을 거듭 받으면 그 목록만의 문제로 보고 다른 목록은 계속 확인합니다. 접근 거부(401·403)처럼 그 주소만의 응답이면 그 목록만 쉽니다.
  • 수집할 때 서버가 쉬는 중이어서 요청하지 않고 미뤄 둔 목록은, 쉬는 시간이 끝난 뒤 그 밤 안에 한 번 확인합니다(한 번에 두 곳까지, 같은 간격으로). 그 밤에 같은 서버의 목록 두 곳이 요청을 줄이라는 답을 받으면 그 서버의 남은 목록은 다음 날로 미룹니다.
  • 사진 기사의 대표 사진을 확인하는 요청은 따로 다룹니다. 서버가 사진 확인에 요청을 줄이라고 응답하면 그 서버의 사진 확인을 7일 동안 쉽니다. Retry-After를 보낸 응답이면 같은 서버의 기사 목록과 피드 확인도 그 시간이 끝날 때까지 쉬고(짧아도 한 시간), Retry-After가 없으면 그 응답만으로는 기사 목록과 피드 확인을 쉬지 않습니다.
  • 등록한 주소가 다른 주소로 넘기면(리다이렉트) 넘겨받은 주소도 같은 규칙으로 다시 확인한 뒤에 요청합니다(간격, 웹 목록이면 그 서버의 robots.txt). robots.txt 주소가 다른 주소로 넘길 때도 같습니다. 넘겨받은 주소를 3초 이상 띄운 새 요청으로 읽습니다.
  • 로그인이 필요한 내용, 유료 기사, 접속 차단 화면은 가져오지 않습니다.

지난 기사도 가져오나요?

  • 매체가 공개한 기사 목록에서 최근 3년 안의 지난 기사도 차례로 모을 수 있습니다. 가져오는 항목은 위와 같고(제목·발행일·요약·원문 주소·작성자 표기), 기사 전문은 저장하지 않습니다.
  • 지난 기사 목록을 읽을 때는 같은 서버에 한 번에 한 요청만 보내고, 요청 사이에 보통 5초, 짧아도 3초 이상 간격을 둡니다(Crawl-delay가 더 길면 그 값). 매체 하나에 하루 120번 넘게 요청하지 않습니다.
  • 목록에 발행일이 없는 일부 매체는 발행일을 확인하려고 기사 페이지도 읽습니다. 이 요청도 같은 간격을 지키고 위의 하루 120번 안에 포함됩니다. 기사 페이지에서도 발행일만 읽고 본문은 저장하지 않습니다.
  • 지난 기사를 모을 때는 robots.txt를 24시간마다 다시 확인합니다. 목록 경로가 막혀 있거나, 접속 차단 화면·접근 거부 응답을 만나면 그 매체의 지난 기사 수집을 멈추고 7일에서 30일 뒤에 다시 확인합니다.

robots.txt를 따르나요?

웹 기사 목록과 기사 페이지를 읽거나 사진 기사의 대표 사진을 확인할 때는 먼저 robots.txt를 확인하고, 막힌 경로는 요청하지 않습니다. robots.txt를 읽을 수 없을 때(서버 오류·응답 없음)는 허용으로 보지 않고 요청을 미룹니다. User-agent: CampusPressHub 그룹을 두면 그 규칙을 우선 따르고(CampusPressHub/1.0처럼 버전을 붙여 적어도 같습니다), 없으면 User-agent: * 규칙을 따릅니다. robots.txt로 막힌 것이 확인되면 그 목록은 운영자가 다시 확인하기 전까지 수집하지 않습니다. 예를 들어 robots.txt에 아래처럼 적으면 웹 기사 목록·기사 페이지·사진 확인 요청이 멈춥니다.

User-agent: CampusPressHub
Disallow: /

RSS·Atom 피드는 매체가 구독용으로 공개한 주소라 robots.txt를 확인하지 않고 그대로 읽습니다. 위 예시만으로는 피드 수집이 멈추지 않습니다. 피드 수집까지 멈추려면 바로 아래 「수집을 멈추게 하려면」의 제외 요청을 보내 주세요.

수집을 멈추게 하려면

매체 담당자나 서버 관리자는 수집·공개 제외를 요청할 수 있습니다. 반영되면 이미 모은 기사도 공개 화면·검색·저장본에서 함께 숨기며, 다시 수집되지 않습니다.