item.py: 크롤링할 데이터를 저장하는 기능을 하는 객체의 클래스를 정의하는 곳입니다.
middlewares.py: scrapy의 커스텀 middleware의 기능을 정의하는 곳입니다. middleware는 다시 한 번 이야기하자면 engine에서 다른 모듈로request와 response 정보가 교환될 때 지나가는 중간 통로입니다.
pipelines.py: item pipelines의 커스텀 모듈을 정의하는 곳입니다. pipeline은 item이 다른 저장소로 저장될 때 거치는 통로라고 생각하면 됩니다.
settings.py: 현재 scrapy 프로젝트의 설정을 하는 파이썬 파일입니다.
scrapy.cfg: scrapy 프로젝트들의 전체적인 설정을 하는 곳입니다. 어떤 프로젝트가 어떤 설정을 따를 것인지 배포는 어떤 식으로 할 것인지를 정합니다.
name : scrapy의 Spider 객체를 식별하는 역할을 하는 클래스 변수입니다. 오직 하나의 유일한 name을 Spider 객체는 가질 수 있습니다.
start_requests: 크롤링이 최초로 시작되는 요청 메서드입니다. 반드시 반복가능한(iterable) 요청 객체인 Requests를 반환해야하며 크롤링할 url들을 명시해야합니다. 이 최초의 요청이 시작되면 이로 인한 연속적인 요청이 Spider에서이루어집니다. 이 때문에 반복가능한(iterable) 객체를 반환하도록 되어 있는 것입니다.
parse: 요청한 데이터에 대한 응답 객체인 Reponse 객체를 받아서 응답 데이터를 파싱하는 데 쓰이는 메서드입니다. Spider에서의 각 요청 데이터들에 대한 응답을 파싱하는 데에 포인트를 두셔야 합니다. 위 response 파라미터는 TextResponse라는 인스턴스이며 페이지의 컨텐츠에 대한 정보를 담고 있습니다.