https://s3-us-west-2.amazonaws.com/secure.notion-static.com/247acb52-aff2-48cb-b275-b9336c5b910f/웹크롤링_커리큘럼_이미지_수정.png

안녕하세요 여러분 😊

기존에 여러분이 DS 커리에서 BeautifulSoup과 Selenium으로 웹크롤링을 경험해보셨다면, 이번에는 Scrapy를 통해 조금 더 심화된 혹은 또다른 방식의 웹크롤링을 소개해드리고자 합니다.

우선, 이번 첫 주차에는 Scrapy에 관해 본격적으로 학습하기 앞서 Scrapy가 무엇인지, 어떤 방식의 프로그래밍인지 알아본 후 Scrapy에서 CSS Selector와 XPath를 통해 데이터를 가져오는 방법, 그리고 Scrapy 실습을 위한 환경 설치까지 다뤄보겠습니다!

<aside> 📢 공지사항


Scrapy 실습은 터미널 환경에서 이루어집니다. 터미널을 처음 사용해보는 분들은 익숙해지기까지 오래 걸리실 수 있어요. 방대한 출력 메세지에 오류를 찾는 것이 매우 힘들게 느껴질 수도 있습니다 😂

하지만 출력되는 양에 겁먹지 않고 한줄한줄 뜯어보면 오류 메세지(DEBUG, ERROR 등)를 찾아낼 수 있습니다. 다른 건 몰라도 오류 메세지는 눈에 딱 띄거든요. (무슨 말인지 곧 알게되실 거예요.)

덧붙여 저희 실습수준에서 발생하는 오류는 대부분 쉽게 해결이 가능합니다. 데이터 분석에 있어 오류 해결 능력 또한 중요한 역량이기 때문에, 이제는 스스로 오류를 해결하는 연습을 해보셨으면 좋겠습니다. 일취월장한 구글링 + 영어실력과 더불어 성취감을 얻으실 수 있을거예요 😉

혼자 해봤는데도 모르겠다면? 망설이지 말고 언제든 슬랙에 질문해주세요 😁

</aside>

목차

1. Scrapy 소개

1-1. Scrapy란?


Scrapy는 대표적인 크롤링 프레임워크 중 하나입니다. 프레임워크란 함수와 코드를 미리 작성해놓음으로써, 특정 함수를 특정 위치에 어떻게 사용하고 작성해야 하는지를 정해놓은 프로그램입니다. 대표적으로는 Python, C, C++, JAVA가 이에 해당합니다.

<aside> 💡 개념잡기: 프레임워크란 무엇일까?


https://youtu.be/t9ccIykXTCM

영상의 내용이 완전히 이해되지 않아도 흐름을 이해해보세요. 코사다마에서 배웠던 내용을 예시로 들어보면 다음과 같습니다.

(selenium의 경우 라이브러리인지, 프레임워크인지 의견이 갈린다고 합니다.)

</aside>

Scrapy는 Selenium, BeautifulSoup에 비해 다양한 기능을 가지고 있고, 크롤링을 좀 더 안정적이고 빠르게 할 수 있다는 장점을 지니고 있습니다.

<aside> 📖 참고하기: Scrapy vs. Selenium vs. Beautifulsoup


각각의 장단점이 궁금한 분들은 아래 글을 참고해보세요 😉

Python 웹 크롤러 도구 비교 및 사용 후기(Scrapy vs selenium vs Requests, urllib)

</aside>

Scrapy를 통한 크롤링은