반응형

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로 분류할 수 있습니다.

그리고 그들의 목적은 특정 규칙에 기반한 웹사이트의 모든 링크를 타는게 목적입니다.

다음 스파이더에서 사용되는 예제의 경우 다음 필드가있는 프로젝트가 있다고 가정 해 봅시다.




반응형
by 발전소장 에르 :) 2017. 10. 17. 14:59