applan의 개발 이야기
[정리] Scrapy 실행 명령어 본문
개발 환경
Python 3.7.6 ( Anaconda )
Scrapy 2.1.0 Ver
Scrapy가 지원하는 실행 명령어은 크게 전역 명령어, 프로젝트 전용 명령어로 나뉘며 각각 옵션은 아래와 같다.
* Scrapy 명령 기본
scrapy <command> [options] [args]
1. 전역 명령어
- startproject
설명 : 새로운 Scrapy 프로젝트 생성
사용법 : scrapy startproject <myprojectName> [project_dir]
- genspider
설명 : 새로운 domain의 name을 가진 spider 생성 [ scrapy가 만들어둔 템플릿 사용가능 ( 추천하지 않음 ) ]
사용법 : scrapy genspider <name> <domain> [ -t template ]
템플릿 : basic = domain에서 설정한 페이지만 크롤링
crawl = 자신이 정의한 정규식을 이용해 해당 정규식에 맞는 URL을 모두 수집 ( rules에 정의 )
xmlfeed = xml 타입 크롤링
csvfeed = csv 타입 크롤링
- settings
설명 : scrapy에 설정한 값을 가져옵니다. ( 자신이 설정한 값을 우선 가져오고 없는 경우 scrapy 기본값으로 return )
사용법 : scrapy settings [options]
예시 : scrapy settings --get BOT_NAME ( 자신의 scrapy 프로젝트 name 가져옴 )
- runspider
설명 : scrapy 프로젝트를 만들지 않고도 python 파일에 자체 포함된 스파이더를 실행
사용법 : scrapy runspider [spider_file.py]
예시 : scrapy settings --get BOT_NAME ( 자신의 scrapy 프로젝트 name 가져옴 )
- shell
설명 : 주어진 url을 이용하여 scrapy 셸을 시작하거나 local 파일을 이용해서 scrapy 셸 실행
사용법 : scrapy shell
[url]
자세한 설명 : docs.scrapy.org/en/latest/topics/shell.html#topics-shell
- fetch
설명 : scrapy에서 해당 url에 대한 페이지를 어떻게 가져오는지 볼 수 있음
사용법 : scrapy
fetch
[url]
예시 : scrapy fetch --nolog http://www.example.com/some/page.html
- view
설명 : scrapy에서 해당 url에 대한 페이지를 어떻게 가져오는지 볼 수 있음 ( html로 만들어서 직접 보여줌 )
사용법 : scrapy view [url]
예시 : scrapy view www.naver.com/
- version
설명 : scrapy에 대한 버전 출력 ( -v 옵션 준 경우 좀더 자세한 옵션 )
사용법 : scrapy
version
[-v]
예시 : scrapy version -v
2. 프로젝트 전용 명령어
- crawl
설명 : spider를 이용해 수집 실행
사용법 : scrapy crawl <spider>
예시 : scrapy crawl test
- check
설명 : (확인 필요)
사용법 : scrapy check [-l] <spider>
예시 : scrapy check -l
- list
설명 : 현재 프로젝트의 spider 리스트 확인
사용법 : scrapy list
예시 : scrapy list
- edit
설명 : 자신이 설정해둔 editor를 이용해 해당 spider 수정
사용법 : scrapy edit <spider>
예시 : scrapy edit test
참고 사이트 : docs.scrapy.org/en/latest/topics/settings.html#std-setting-EDITOR
- parse
설명 : 주어진 URL을 가져와서 --callback 옵션과 함께 전달 된 메소드를 사용하여 spider를 처리하여 item을 만들어서 return 해줌
사용법 : scrapy parse <url> [options]
예시 : scrapy parse http://www.example.com/ -c parse_item
- bench
설명 : 간단한 벤치 마킹 ( 아무것도하지 않고 링크 만 따르는 간단한 스파이더를 사용합니다. )
사용법 : scrapy bench
이유 : scrapy가 하드웨어에서 어떻게 작동하는지에 대한 것을 얻을 수 있음
참고 사이트 : docs.scrapy.org/en/latest/topics/benchmarking.html#benchmarking
'개발 > Dev.' 카테고리의 다른 글
[오류해결] HTML canvas 안 나오는 문제 ( width 사용 ) (0) | 2022.08.22 |
---|---|
[오류해결] TS2349: This expression is not callable 에러 (0) | 2022.08.22 |
[오류해결] 터미널 PSSecurityException 에러 (0) | 2022.08.16 |
[해커톤] 해커톤 도전 근황 (0) | 2022.08.12 |
[이슈해결] log4j 보안 이슈 해결 과정 (4) | 2021.12.12 |