[파이썬 크롤링/부동산 데이터] 스크래피(scrapy) startproject로 초기 프로젝트 구성하기
| 들어가기 전에
본 포스팅을 제대로 따라가려면 scrapy가 설치되어 있어야 합니다. 아래 링크를 참조하셔서 scrapy 설치를 먼저 진행해주세요!
[Python/Python 프로그래밍] - 스크래피(scrapy) 설치 및 scrapy 프로젝트 시작하기
또한 부동산 공공데이터 사이트에서 공공데이터 API를 신청한 후 해당 API가 사용가능한 상태가 되어야 합니다.
[기타 정보/ETC] - 국토교통부 공공데이터 부동산 실거래가 API 신청 방법
또한 본 포스팅은 다음 실행환경을 기반으로합니다.
1. window 10 2. Python 3.8.1 3. Scrapy 1.8.0 |
| scrapy 프로젝트 만들기
아래와 같은 커맨드를 치게되면 scrapy에 대한 프로젝트가 만들어 집니다.
C:\Users\user\Desktop\python-tutorial>scrapy startproject invest_crawler
New Scrapy project 'invest_crawler', using template directory 'c:\users\user\appdata\local\programs\python\python38\lib\site-packages\scrapy\templates\project', created in:
C:\Users\user\Desktop\python-tutorial\invest_crawler
You can start your first spider with:
cd invest_crawler
scrapy genspider example example.com
프로젝트의 구성은 다음과 같습니다.
| scrapy.cfg
|
\---invest_crawler
| items.py
| middlewares.py
| pipelines.py
| settings.py
| __init__.py
|
+---spiders
| | __init__.py
| |
| \---__pycache__
\---__pycache__
scrapy에 대한 구성은 전 포스팅에서 설명했지만 다시 정리하면
- __pycache__, __init__.py : 파이썬에서 파생된 파일들입니다.
__pycache__는 파이썬에서 .py 파일을 인터프리트할 때 중복된 파일을 해석하는 일이 없도록 인터프리트된 결과를 캐싱한 파일입니다.
__init__.py 는 간단히 설명하면 파이썬에서 단순 디렉터리인지 아니면 파이썬 패키지인지 판별하는 역할을 하는 파일이라고 보시면 됩니다. 자세한 것은 여기를 참조하시면 됩니다. - scrapy.cfg : scrapy가 어떤 크롤러 프로젝트와 어떤 세팅을 따를 것인지 혹은 어떤 프로젝트를 기본 크롤러로 지정할 지에 대한 정보를 저장하는 파일입니다. 이 포스팅에서는 크게 자세히 다루지는 않을 것입니다.
- items.py : scrapy에서는 크롤링된 데이터를 item이라는 DTO(Data Transfer Object)에 담아서 로직을 처리합니다. 이 item은 scrapy.Item을 상속받아서 만들 수 있습니다.
- middlewares.py : scrapy는 크롤링된 데이터를 item에 담아서 처리합니다. 이때, 데이터를 처리할어떤 특정 요청과 응답을 구현하는 로직을 만들어야 하는데 이것은 scrapy의 middleware라는 모듈에서 처리하게 됩니다. middlewares.py는 이 middleware를 구현하는 파이썬 파일이라고 생각하면 됩니다.
- pipelines.py : scrapy가 데이터를 처리할 때 어떤 특정 통로를 통해서 데이터를 순차적인 로직에 의해서 처리하게 만듭니다. 이 통로를 pipeline이라고 부르며 여러 개의 pipeline을 따라서 scrapy의 데이터의 요청과 응답을 처리하게 됩니다.
위의 내용 중에 이해하기 어렵거나 모자란 부분이 있다면은 아래의 scrapy 아키텍처를 설명한 포스팅을 참고하시면 감사하겠습니다.
[Python/Python 프로그래밍] - 파이썬 웹 스크래핑할 때 이거 쓰세요. 최고의 파이썬 웹 스크래핑 솔루션 scrapy
다음 시간에는 기본적인 scrapy project를 이용하여 부동산 데이터를 어떻게 가져오는 지 알아보도록 하겠습니다.
'Python > 파이썬 웹 크롤링' 카테고리의 다른 글
[파이썬 크롤링/부동산 데이터] scrapy를 이용하여 부동산 공공 데이터 DB에 저장하기 (0) | 2021.03.28 |
---|---|
[파이썬 크롤링/부동산 데이터] scrapy를 이용하여 재귀적으로 부동산 공공 데이터 연속적으로 가져오기 및 excel 저장 (0) | 2021.03.28 |
[파이썬 크롤링/부동산 데이터] scrapy를 이용한 부동산 공공 데이터 저장하기(csv/excel) (0) | 2021.03.28 |
[파이썬 크롤링/부동산 데이터] scrapy를 이용한 부동산 공공 데이터 파싱 및 추출하기 (0) | 2021.03.28 |
[파이썬 크롤링/부동산 데이터] scrapy를 이용한 부동산 공공 데이터 간단하게 받아오기 (0) | 2021.03.28 |