나는 비교적 간단한 경우가 있습니다. 기본적으로 다양한 웹 사이트 간의 링크에 대한 데이터를 저장하고 도메인을 제한하고 싶지는 않습니다. 일부 http 클라이언트 라이브러리를 사용하여 내 크롤러를 작성할 수는 있지만 일부 불필요한 작업을 수행 할 것이라고 생각합니다. 페이지를 한 번 이상 검사하지 않고 robots.txt 파일을 읽고 사용하는 방법을 배우고, 어쩌면 동시성과 분산을 이루려는 시도 일 수도 있습니다. 그리고 아직 생각하지 못한 많은 것들이있을 것입니다.Extensible/Customizable 웹 크롤링 엔진/프레임 워크/라이브러리?
그래서 이러한 종류의 것을 처리하는 웹 크롤링을위한 프레임 워크를 원했지만 응답 (내 경우에는 링크를 추출하고 저장하는 방법)을 처리하도록 지시했습니다. 대부분의 크롤러는 사용자가 검색을 위해 웹 페이지의 색인을 생성한다고 가정하는 것처럼 보이며, 좋지 않습니다. 맞춤 설정할 수있는 것이 필요합니다.
MongoDB 데이터베이스에 링크 정보를 저장하고 싶습니다. 따라서 링크가 프레임 워크에 저장되는 방법을 지정할 수 있어야합니다. 그리고이 질문을 언어에 구애받지 않는다고 태그했지만, 이것은 MongoDB의 지원 언어 (Python, Ruby, Perl, PHP, Java 및 C++) 중 하나의 프레임 워크로 선택을 제한해야한다는 것을 의미합니다. 넓은 그물. 필자는 동적 인 언어를 선호하지만 어떤 제안이든 열려 있습니다.
Scrapy (깔끔하게 보임) 및 JSpider (121 페이지 사용자 설명서를 기반으로 한 "중량감"이 좋을지도 모르지만)이 있지만 거기 있는지 알고 싶습니다. 밖에 다른 좋은 옵션들이 있었어.
JSpider와 관련하여 마지막 릴리스가 http://j-spider.sourceforge.net/news.html에 따라 2003에서 비롯된 것일뿐만 아니라이 포럼 항목도 사실상 프로젝트의 죽음을 암시하고 있습니다. http :// /sourceforge.net/forum/message.php?msg_id=5600799; 이것은 반드시 쇼 스토퍼는 아니지만, 개인적으로는 오늘 그 위에 솔루션을 구축하는 것을 꺼려합니다. 안정되고 성숙한 기본 프로토콜과 메커니즘에도 불구하고 모든 웹이 매우 빠르게 변화하고 있기 때문입니다. –