2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Scrapy는 웹사이트 데이터를 크롤링하고 구조화된 정보를 추출하기 위한 Python 프레임워크입니다.
1. 엔진
– Scrapy의 엔진은 데이터 흐름을 제어하고 이벤트를 트리거하는 핵심입니다. 이는 스파이더가 보낸 요청과 수신된 응답을 관리할 뿐만 아니라 스파이더가 생성한 항목을 처리합니다. 엔진은 Scrapy 작동의 원동력입니다.
2.스케줄러
– 스케줄러는 엔진에서 보낸 요청을 수신하고 특정 정책(예: 우선순위, 깊이 등)에 따라 대기열에 추가하는 역할을 담당합니다. 엔진에 새 요청이 필요할 때 스케줄러는 대기열에서 요청을 가져와 엔진에 반환합니다. 이는 요청의 질서 있는 처리를 보장합니다.
3. 다운로더
– 다운로더는 Scrapy 엔진에서 보낸 요청에 따라 웹 콘텐츠를 다운로드하는 역할을 담당합니다. HTTP 프로토콜을 사용하여 웹사이트 서버와 통신하고 다운로드한 웹페이지 콘텐츠를 응답으로 Scrapy 엔진에 반환합니다. 다운로더는 웹 페이지 데이터를 얻기 위한 Scrapy의 핵심 구성 요소입니다.
4.거미
– 스파이더는 크롤링 논리를 정의하고 웹 페이지 콘텐츠를 구문 분석하는 데 사용되는 Scrapy의 구성 요소입니다.정의된 규칙을 기반으로 초기 요청을 생성하고 다운로더가 반환한 응답을 처리하여 필요한 데이터(항목)를 추출하거나 추가 크롤링을 위한 새 요청(요청)을 생성합니다.
5.아이템 파이프라인
– 아이템 파이프라인은 Spider에서 추출한 아이템을 처리하는 역할을 담당합니다. 데이터 정리, 데이터 무결성 확인, 데이터베이스나 파일에 데이터 저장 등 다양한 작업을 수행할 수 있습니다. 여러 파이프라인을 정의하면 다양한 요구 사항을 충족하도록 데이터를 유연하게 처리할 수 있습니다.
6. 다운로더 미들웨어
– 다운로더 미들웨어는 Scrapy 엔진과 다운로더 사이에 위치하며 요청과 응답을 처리하는 데 사용됩니다. 요청(예: 요청 헤더 추가, 프록시 설정 등) 또는 응답(예: 압축 처리, 리디렉션 처리 등)을 수정하여 Scrapy가 웹 사이트와 상호 작용하는 방식을 제어할 수 있습니다. 미들웨어는 Scrapy의 기능을 확장하는 중요한 메커니즘입니다.
7. 스파이더 미들웨어
– Spider 미들웨어는 Scrapy 엔진과 Spider 사이에 위치하며 Spider의 입력(즉, 응답)과 출력(즉, 항목 및 새 요청)을 처리하는 데 사용됩니다. 응답을 수정하거나 삭제할 수 있고, 예외를 처리할 수 있으며, 스파이더가 생성한 항목과 요청을 수정하거나 삭제할 수도 있습니다. Spider 미들웨어는 Spider 실행 중에 사용자 정의 기능을 삽입하는 기능을 제공합니다.
각 구성요소 간의 데이터 흐름은 그림에 표시되어 있습니다.
pip install scrapy