공부

[패스트캠퍼스 서포터즈 3기] NODEJS 초격차 패키지 강의 후기 2 (크롤링 모듈)

aSpring 2021. 6. 12. 20:08
728x90
728x90

2021.06.04 - [공부] - [패스트캠퍼스 서포터즈 3기] node.js 초격차 패키지 강의 후기

 

출처 : https://fastcampus.co.kr/dev_online_node

 

안녕하세요~! 패스트캠퍼스 서포터즈 3기로

NODEJS 초격차 패키지 강의를 듣고 있는 aSpring입니다

 

 

지난 주에 이어서

오늘도 NODEJS(노드 js) 강의 후기를 들고 왔습니다~!

(사실 노드 js 강의는 아직 오픈을 안해서 크롤링 강의를 듣고 있지만요!)

 

크롤링은 아무 사이트에서나 해도 되는 걸까??

NONONONO!!!

법적인 문제가 발생할 수 있기 때문에 반드시 주의해야 합니다.

 

크롤링할 사이트의 주소에서 robots.txt를 반드시 확인해야 합니다.

Robots.txt
- 크롤러가 해당 사이트의 데이터를 수집하는 것을 허용할지 금지할지 알려주는 문서

 

확인하는 방법

주소 창에서 : 웹사이트/robots.txt

 

이렇게 하면 크롤링 정책을 확인할 수 있다고 합니다.

 

저도 한 번 해볼게요~!

 

 

대상은 Tistory 사이트입니다

Tistory 사이트에 접속을 한 뒤 /robots.txt 를 입력하고 엔터를 쳐봤어요.

 

 

모든 agent에 대해 /m, /login, /gateway 경로는 크롤링 불가, 나머지 경로는 모두 가능 ? 으로 해석하면 될 것 같아요!

 

이렇게 뜨는 걸 확인할 수가 있네요!

주의할 점은 검색하고자하는 사이트의 메인 주소에서 robots.txt를 치라는 것입니다.

 

강의로 돌아가서

#은 주석에 해당하고

User-agent 라는 건 크롤링 봇의 이름,

Disallow - 크롤링을 허용하지 않는다는 뜻입니다.

따라서 Googlebot agent에서는 주소 /nogooglebot/ 을 포함하는 모든 경로는

크롤링을 해서는 안된다는 뜻이라고 합니다.

 

*는 와일드카드로 전체를 의미하죠.

모든 종류의 봇에 대해 명령을 내리는데

Allow: / -> 모든 주소에 대해 허용...?

 

/nogooglebot/ 요 경로만 피하면 되나봅니다. ?

 


 

크롤링에 사용되는 모듈입니다.

가장 처음에있는 Axios + Cheerio가 가장 옛날 세대라고 해요.

old한 방법이긴 하지만 웹 개발자, node 개발자라면 몰라서는 안된다고 합니다.

 

그리고 Puppeteer는 구글에서 개발한 모듈이라고 하네요!

 

강의에서는 Axios + Cheerio와 Puppeteer에 대해 배울거라고 합니다.

 

그렇다면

Selenium, beautifulsoup, scrapy는 왜 안하는가?

- 인터넷에 정말 많은 참고자료? 글들이 있다.

- Selenium은 파이썬에 최적화되어있다.

- > 우리는 지금 NODEJS(노드 js)를 기준으로 공부를 하고있기 때문에,

그리고 Puppeteer가 그 이상의 기능을 제공하기 때문에 PASS!

 

<Axios + Cheerio>

HTTP 요청과 HTML DOM Parser 사용하기

 

Axios : HTTP 요청을 사이트에 보내야만 정보를 획득!

우리가 원하는 페이지에 HTTP 요청을 보내기 위해 사용

크롤링 외에도 front, back 모두에서 사용 가능한 모듈

 

다운로드는 아래 페이지 참고

https://www.npmjs.com/package/axios 

 

axios

Promise based HTTP client for the browser and node.js

www.npmjs.com

 

 

Cheerio : 거기에서 얻은 Data를 읽기 쉽게 Parsing하기 위해 사용

 

 

엇.. 갑자기 선생님께서 VSCode를 실행하셨네요.

axios를 설치하려고 하시는 것 같은데...

저도 VSCode가 깔려있기는 하지만

다른 할 일이 산더미라 설치는 다음 시간에 해보도록 하겠습니다! ㅎㅎ 

 


 

NODEJS(노드 js)를 배울 것을 기대하고 신청한 강의이지만아직 오픈하지 않아서 아쉬웠는데 크롤링도 배워놓으면 정말 좋을 것 같아요!그리고 axio라는 게 아직은 정확히 뭔지 모르겠지만 크롤링 외에도back 개발이든 front 개발자 모두에게 사용 가능한 모듈이라고 하니까java를 공부하고 있는 저에게는 아주 유익한 강의가 될 것 같습니다!

 

다음 주에 만나요~~~!


 

NODEJS(노드 js) 강의에 관심있는 분들은 한 번 방문해보시길 추천드릴게요~!

 

https://bit.ly/3pdy7Wq

 

한 번에 끝내는 Node.js 웹 프로그래밍 초격차 패키지 Online | 패스트캠퍼스

12가지 프로젝트로 배우는 Node.js! 블라인드 앱 클론 코딩, MBTI 테스트 사이트, 퀴즈 사이트, 브런치 웹 크롤러 등 유저들이 좋아하는 사이트를 내 손으로 직접 만들어 볼 수 있어요! 프론트엔드+백

fastcampus.co.kr

 

해당 NODEJS(노드 js) 강의는 패스트 캠퍼스 서포터즈 3기로 활동하면서

무료로 제공받아 수강하였으며 수강 후기는 솔직하게 남겼습니다.

728x90
728x90