applan의 개발 이야기

[정리] Scrapy 실행 명령어 본문

개발/Dev.

[정리] Scrapy 실행 명령어

applan 2021. 1. 12. 00:02
728x90
개발 환경 
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

         설명 : 새로운 domainname을 가진 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

 

728x90
Comments