2018. 7. 20. 00:11ㆍ파이썬
1. Scrapy의 구조
scrapy startproject 프로젝트명
spiders 디렉터리 : 실제로 Crawling 하는 로직들이 들어가있는 디렉터리
items.py : 크롤링 대상의 게시물에 대한 항목들
pipelines.py : 크롤링 이후 검색된 데이터를 어떻게 처리할지 정의.
settings.py : 스크래피 프로젝트 전체에 대한 설정
ex) 로그파일, 파이프라인 순서 결정
2. Scrapy 동작
(1) items 정의 ┌ 단순한 String List
(2) 시작 URL 지정 ( start_requests | start_urls )
└ callback 함수 지정 가능 : parse()
(3) callback 함수 정의
selector(xparh, css)를 이용하여 데이터를 선택
(4) Pipeline을 이용하여 데이터를 필터링 or DB에 저장
3. Details
(1) Spiders
①크롤러 이름 지정
② 스타트 URL 지정
a. start_urls : 시작 주소를 리스트 형태로 추가
b. start_requests : 콜백함수 지정 가능 (parse()) , 사이트에 로그인 할 때 사용
③ Parser 정의
def parse(self, response):
(2) Selector
HTML 문서의 특정 노드를 선택 , xpath OR css
(3) Pipeline
데이터를 크롤링 한 이후 특정 행동을 수행하도록 한다.
-데이터 유효성 검사
-DB에 아이템 저장
-필터링
▶settings.py
파이프 클래스 및 순서를 지정
ITEM_PIPELINES == {
'kiss.pipelines.CommunityPipeline':300,
}
(4) Logging
▶settings.py
LOG_FILE == 'logfile.log'
LOG_LEVEL == logging.DEBUG
LOG Level
a. logging.CRITCAL
b. logging.ERROR
c. logging.WARNING
d. logging.INFO
e. logging.DEBUG
위로 갈 수록 높은 수준의 로깅을 수행한다.
'파이썬' 카테고리의 다른 글
문자열 치환 함수 maketrans() (0) | 2018.12.24 |
---|---|
[Raspberry PI 3] GPIO 사용하기 (0) | 2018.09.27 |
웹 데이터의 저작권 & 사이트 정책 확인 (0) | 2018.07.19 |
BeautifulSoup vs Scrapy (0) | 2018.07.19 |
웹 크롤링 개발 환경 설정하기 (0) | 2018.07.19 |