글
Spider는 웹 사이트를 통해 링크를 따라 이동하고 페이지에서 정보를 추출하는 방법을 정의하는 클래스입니다.
default spirder는 아래와 같습니다.
class scrape.spiders.Spider 에 위치하며 각각의 부분과 설명들을 밑에 첨부합니다.
name |
spider의 이름 |
allowed_domains |
spider가 크롤링할 도메인들의 목록 |
start_urls |
URL의 목록이고 어디서부터 크롤링할건지, 나중 크롤링을 위한 뿌리가 된다. |
custom_settings |
spider가 동작할때 project wide configuration으로 오버라이드된다. |
crawler |
이 속성은 스파이더 인스턴스가 바인딩 된 크롤러 객체에 연결되는 속성입니다. |
setting | spider의 동작을 위한 세팅들 |
logger |
Python logger가 log 메세지를 보내기위해 사용됩니다. |
from_crawler (crawler,*args,**kwargs) |
spider를 만들 메소드이며 파라미터별 - crawler => 어떤 spider객체가 바인딩 될 것인지. - args(list) => method _init_()에 전달된 인자들입니다. |
start_requests() |
어떤 특정 URL도 명시되지않았고 스크래핑을 위해 스파이더가 열렸을 경우 scrapy는 start_requests()method를 호출합니다. |
make_requests_from_url(url) |
url을 requests로 콘버트할때 사용됨 |
parse(response) |
response를 처리하고 처리된 데이타를 리턴하고 다음 url을 따라갑니다. |
log(message[,level,component]) |
spider logger를 통해 log msg를 보내는 메소드 |
closed(reason) |
spider가 종료될 떄 호출됩니다. |
Spider Arguments
스파이더 인수는 시작 URL을 지정하는 데 사용되며 다음과 같이 -a 옵션과 함께 크롤링 명령을 사용하여 전달됩니다.
scrape crawl first_scrapy -a group = accessories
위 코드는 스파이더가 어떻게 인자를 받는지 보여줍니다.
Generic Spider
Generic Spider를 사용하여 spider를 sub class로 분류할 수 있습니다.
그리고 그들의 목적은 특정 규칙에 기반한 웹사이트의 모든 링크를 타는게 목적입니다.
다음 스파이더에서 사용되는 예제의 경우 다음 필드가있는 프로젝트가 있다고 가정 해 봅시다.
'프로그래밍발전소 ♫' 카테고리의 다른 글
한빛미디어 ) 이것이 자바다. (0) | 2018.04.12 |
---|---|
책 리뷰) 강화학습첫걸음 Feat.한빛미디어 (0) | 2018.03.07 |
Scrapy로 프로젝트 시작하기 (0) | 2017.10.17 |
Scrapy 소개 및 개요 (0) | 2017.10.17 |
이클립스 플러그인, 디펜던시,시스템 오류 시 조치법 :) (0) | 2017.09.27 |
RECENT COMMENT