요즘 제가 웹 크롤러를 만들고 있습니다.
물론 학교 과제로 만들고 있는건데요
제가 제작한 크롤러는 정말 간단합니다.
URL->파일분석->URL추출->URL 큐에 삽입 ->큐에서 다시 URL POP->URL->처음부터 반복
보통 한페이지를 읽어오면 URL이 200~300개쯤 있습니다.
그럼 중복검사를 거쳐도 100개쯤은 새로운 URL이 포함되게 되어 있습니다.
다 유용한 URL이 되게 되는것입니다.
근데 여기서 문제점... 큐가 줄어들지 않습니다. 교수님께서는 페이지 20만개 쯤은 가져왔으면 좋겠다고 생각하십니다.
근데 7~8만개쯤 되면.. 큐에 삼백만개 쯤 들어가게 되고, 메모리가 800메가쯤 할당했음에도 불구하고 800메가를 넘겨 뻗어버립니다.
현재 프로그램을 php로 짜서 쉘스크립트 처럼 돌리고 있는데요...
프로세스를 나누는 방법에 대해서 좀 알려 주실 수 있으신가요?
Queue가 무한 증가하지 않게 할 수 있는 방법에 대해서요;;