본문 바로가기
Scrapy

[Scrapy] 01. Scrapy 생성

by KIha_Jung 2020. 4. 1.

contents

1. 새로운 scrapy project 생성

2. 스파이더를 사용하여 사이트 크롤링 & 데이터 추출

3. cmd 사용하여 스크랩 된 데이터 파일화

4. spiders 생성 및 사용

5. url : https://blog.scrapinghub.com title 가져오기

 

0. scrapy란? 

-> python으로 작성된 오픈소스 웹 크롤링 프레임워크이다. 웹 데이터를 수집하는 것을 목표로 설계.

-> (참고) 프레임워크란 특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램.

-> 라이브러리(모듈)과의 차이점 : 자유도.

 

1. Create project

코드를 생성하려는 디렉토리 입력 -> cmd : scrapy startproject section01

다음과 같은 구조로 생성된다.

 

    scrapy.cfg            # deploy configuration file

    tutorial/             # project's Python module, you'll import your code from here

        __init__.py

        items.py          # project items definition file

        middlewares.py    # project middlewares file

        pipelines.py      # project pipelines file

        settings.py       # project settings file

        spiders/          # a directory where you'll later put your spiders

            __init__.py



2. spiders 생성 및 사용

스파이더는 scrapy가 웹 사이트에서 정보를 긁기 위해 사용하는 클래스이다.

spiders 폴더로 접근하여 cmd : scrapy genspider TestSpider 도메인이름

 

* Spider 속성 & 메소드 정의

name : 이름 식별, 프로젝트 내에 고유해야 한다.

start_requests() : Spider가 클롤링 할 url을 반목 요청을 반환한다.

parse() : 각 요청에 대해 다운로드 된 응답을 처리하기 위해 호출되는 메소드, 

          response는 응답을 처리하는데 유용한 추가 메소드가 있는 인스턴스

          일반적으로 parse()는 구문 분석후 데이터를 추출하고 다음 url에 요청을 보내게 작성한다.

 

* spiders 사용

cmd : scrapy crawl name

start_requests()이 각각에 대한 응답을 수신하면 Response 객체를 객체화 하고 parse() 인자에 전달한다.



3. 스크랩 된 데이터 저장

cmd : scrapy crawl test01 -o news_title.json -t json

-o 파일명.확장자, -t 파일 타입(json, jsonlines, jl, csv, xml, marshal, pickle)

 

 

'Scrapy' 카테고리의 다른 글

[Scrapy] 06. Scrapy Spider 활용  (0) 2020.04.08
[Scrapy] 05. Shell 사용법  (0) 2020.04.07
[Scrapy] 04. Spider 활용  (0) 2020.04.01
[Scrapy] 03. Following links  (1) 2020.04.01
[Scrapy] 02. 데이터 추출 (get vs extract)  (0) 2020.04.01

댓글