Scrapy 프레임 워 크 에 사용 되 는 기본 지식
스 크 래 피 를 이해 할 수 있 도록 개념 적 지식 을 소개 한다.
데이터 흐름
이 프레임 워 크 를 익히 려 면 데이터 의 흐름 이 어떤 과정 인지 알 아야 한다.총 결 은 다음 과 같다.
1.엔진 이 먼저 사 이 트 를 열 고 url 을 요청 합 니 다.
2.엔진 은 스케줄 러 를 통 해 url 을 Request 형식 으로 스케줄 링 합 니 다.
3.엔진 이 다음 url 을 요청 합 니 다.
4.스케줄 러 는 url 을 Downloader Middlewares 를 통 해 엔진 에 보 냅 니 다.
5.Downloader 생 성 response,Downloader Middlewares 를 통 해 엔진 에 보 내기
6.엔진 수신 Response 는 spider Middleware 를 통 해 spider 처리 에 보 냅 니 다.
7.spider 처리 response
8.엔진 은 spider 가 처리 한 아 이 템 을 ItemPipeline 에 주 고 새로운 Request 를 스케줄 러 에 줍 니 다.
2.각 구조의 역할
DownloderMiddleware
스케줄 러 는 대기 열 에서 Request 를 꺼 내 다운 로드 를 실행 합 니 다.이 과정 은 다운 로드 를 통 해 Middleware 처 리 됩 니 다.
역할 의 위 치 는 두 가지 가 있다.
process_request(request,spider)
Request 가 Downloader 에 도착 하기 전에 호출 됩 니 다.
매개 변수 소개:
1.Request 를 Response 로 실행 할 때 까지 다른
None
방법 으로 되 돌려 줍 니 다.2.
process_request()
대상 을 되 돌려 주 고 낮은 우선 순위Response
와process_request()
는 호출 되 지 않 습 니 다.3.반환
process_exception
대상,낮은 우선 순위request
의 집행 정지,새로운process_request()
로 돌아 갑 니 다.process_response(request,response,spider)
역할 위치:
1.낮은 우선 순위
Request
로 되 돌아 가 호출 되 지 않 습 니 다.2.
Request
낮은 우선 순위process_respons()
로 돌아 가 계속 호출 합 니 다.process_exception(request,exception,spider)
이 함 수 는 주로 이상 을 처리 하 는 데 쓰 인 다.
spiderMiddleware
역할 위치:
process_soider_input(response,spider)
반환 값:
1.복귀 없 음
Response 를 계속 처리 하고 모든
response
을 호출 하 며 spider 처 리 를 알 고 있 습 니 다.2.이상 탈출
Request
process_respons()
방법 을 직접 호출 하여spiderMiddleware
처리 합 니 다.process_spider_output(response,result,spider)
spider 가 Response 를 처리 하여 결 과 를 되 돌려 줄 때 호출 됩 니 다.
process_spider_exception(response,exception,spider)
반환 값:none
response 를 계속 처리 하고 교체 가능 한 대상 을 되 돌려 줍 니 다.
errback()
방법 이 호출 되 었 습 니 다.process_start_request(start_requests,spider)
process_spider_output()
시 작 된process_spider_output()
을 매개 변수 로 호출 되 었 으 며,되 돌아 와 야 합 니 다spider
.총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Web Scraping con scrapy y regexcomo solo tenemos un url se la pasamos directamente a scrapy.Request como string y el callback lo dirigimos a nuestro se...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.