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 |
댓글