YayCrawler 분산 크롤러 시스템, 사용이 간편하고 고급 구성. 확장 가능하고, 개발 작업량을 줄이고, 도킹화할 수 있으며, 핵심 프레임워크: WebMagic, Spring Boot, MongoDB, ActiveMQ, Spring + Quartz, Spring Jpa, Druid, Redis, Ehcache, SLF4J, Log4j2, Bootstrap + 제이쿼리 등
우리가 할 수 있는 한 최선을 다해 웹 크롤러 개발자의 생산성을 극대화하십시오. 이는 크롤러 프레임워크에 신선한 바람을 불어넣는 것입니다.
WebMagic을 기반으로 개발된 완전한 분산 크롤러 프레임워크입니다. 이 프레임워크의 특징은 다음과 같습니다.
1. 완전 분산형: 관리 터미널(Admin), 파견 터미널(Master) 및 여러 작업자로 구성됩니다. 각 구성 요소는 HTTP 프로토콜을 통해 통신합니다.
2. 완전 구성 가능: 모든 웹사이트의 데이터는 관리자 측의 페이지 구성 규칙을 통해 크롤링될 수 있습니다. 물론 웹사이트마다 난이도가 다르며 로그인, 인증 코드, IP와 같은 문제를 처리하는 구성 요소도 다릅니다. 차단 등
3. 확장 가능한 작업 대기열: 작업 대기열은 작업 상태에 따라 초기, 실행 중, 성공 및 실패라는 네 가지 작업 대기열이 있습니다. 다양한 작업 스케줄링 알고리즘을 확장할 수도 있습니다. 기본값은 공정한 스케줄링입니다.
4. 정의 가능한 지속성 방법: 크롤링 결과에서 속성 데이터는 기본적으로 MonogoDB에 유지되며, 이미지는 파일 서버에 다운로드됩니다. 물론 더 많은 저장 유형을 확장할 수 있습니다.
5. 안정성 및 내결함성: 모든 크롤러 작업은 재시도되어 기록됩니다. 작업이 실제로 성공한 경우에만 실패 이유에 대한 설명이 포함됩니다.
핵심 프레임워크: Webmagic Spring 부트
작업 스케줄링: Spring + Quartz
지속성 계층 프레임워크: Spring Jpa
데이터베이스 및 연결 풀: Alibaba Druid MongoDB MySql
캐싱 프레임워크: Redis Ehcache
로그 관리: SLF4J, Log4j2
프런트엔드 프레임워크: Bootstrap + Jquary
1. JDK8 설치
2. 구문 분석 규칙과 같은 데이터를 저장하기 위해 mysql 데이터베이스를 설치합니다. "yayCrawler"의 데이터베이스 인스턴스를 생성하고 quartz 관련 데이터베이스 스크립트인 quartz.sql을 실행해야 합니다(릴리스 패키지 또는 소스 코드 참조).
3.레디스 설치
4. 결과 데이터를 저장하기 위해 mongoDB를 설치합니다.
5. FTP 서버 소프트웨어 ftpserver를 설치합니다(선택 사항, 다운로드한 이미지를 저장하는 데 사용).
프로젝트를 가져오고 maven install을 통해 Admin, Worker, Master 모듈을 설치합니다. 그런 다음 생성된 Jar를crawler.worker/deploy 디렉토리에 복사하십시오. 구성 파일에서 Redis 및 mysql mogodb의 IP를 변경하고 start.bat를 클릭하여 시작하십시오.
(Linux 및 Windows) java -jar 작업자.war --spring.config.location=worker_local.properties
닫기 명령
(Windows) for /f "tokens=1-5 delims= " %%a in ('"netstat -ano|findstr "^:8086""') do taskkill /f /pid %%e
1. 관리자 관리자 계층은 주로 페이지 추출 규칙 구성, 페이지 사이트 구성, 리소스 관리 및 작업 해제를 담당합니다.
2. 마스터는 분산 크롤러의 제어 센터입니다. 관리자가 릴리스한 작업을 수락하고 실행을 위해 작업자에게 작업을 할당합니다.
2.1. 퍼블리싱 작업 수신
2.2. 근로자 등록 수락
3. 일꾼은 주인이 맡겨준 일을 받아들이고 실행하며, 자신의 심박수를 주인에게 정기적으로 보고하는 근면한 청년이다.