2일차 하루종일 의자에 앉아서 웹개발 강의만 듣고있다. 내 머리속에 제대로 들어오고있는지도 잘 모르겠지만, 그래도 열심히 하는 기분이 들어서 뿌듯한 느낌이다. 그 외에도 전에는 중요한데 무심코 지나갔던 부분이 꽤나 많았다 마치 그때의 기분이란 "이걸 놓쳐?!" 라고 생각될 정도여서 반복 숙달의 중요성을 다시한번 상기시킬 수 있었다.
또한 여전히 완전히 이해하지 못하고 개발을 하고 있는거 같다, 특히 API에 대한 깊은 이해하기 위해 좀 더 공부를 해야 될 것 같다...
오늘 PYTHON을 이용해서 웹페이지를 크롤링하고, 프레임워크('FLASK')를 이용해 서버도 만들었다.
1. PYTHON 크롤링
requests 브라우저의 기능 중에 http 요청을 적절한 서버에 함으로써 response를 받는 기능이 있는데, 이 역할을 대신해주는 라이브러리이다. 요청한 데이터를 브라우저가 받는 것이 아니라 파이썬 코드쪽으로 받게 만든다.
requests와 selenium 의 차이점
requests와 다르게 selenium은 직접적으로 http를 건드리는 것이 아니라 브라우저 자체를 컨트롤하는 라이브러리이다. 서버 입장에서는 프로그램이 서버에 요청하는지 일반 브라우저에서 요청하는지 구분이 어렵다.
bs4(beautifulsoup) 라이브러리는 requests를 통해 받은 코드를 솎아 내서 내가 원하는 정보로 데이터 전처리를 수행할 수 있게 만들어준다.
이때 웹페이지의 선택자(selecter)를 이용하는데 쉽게 말해 해당 코드가 이용하는 경로를 알려주는 역할을 한다.
flask를 이용해서 서버를 제작했다. 이때 만든 서버는 localhost:5000을 주소로 갖지만 포트 5000은 언제든지 바꿀 수 있다. 하지만 일반적으로 포트번호는 다른 포트번호가 이미 할당되어 있을 가능성이 높으므로 변경하지 않는 것을 추천한다.
[프레임워크와 라이브러리의 차이점]
프레임워크는 이미 형식이 정해져 있는 문서와 같다. 그래서 형식에 맞게 내용을 집어 넣으면 된다.
라이브러리는 다양한 블록과 같다. 그래서 이미 제작되어 있는 다양한 블록으로 내가 원하는 모습을 만들 수 있다.
flask로 서버를 만들고 크롤링해온 자료들을 저장하기위해 pymongo를 이용했다. pymongo를 이용하기 위해서 데이터가 저장되는 mongodb를 설치했다. 또한, 이를 USER가 볼 수 있게 시각화시켜주는 프로그램은 robo 3T를 설치하여 이용했고, 이를 다루기 위해서 PYTHON의 pymongo 라이브러리를 이용해서 데이터를 정리했다.
클라이언트는 API를 통해 서버에게 요청할 수 있는데 이때, GET과 HOST가 있다. 하지만, 두가지 뿐만 아니라 여러가지가 있는데 이번 기회에 두가지에 대해서 배울 수 있었다.
GET의 경우 서버로부터 정보를 받아올 때 사용되며, HOST는 업데이트,삭제,추가 등 다양한 이유로 많이 사용된다.
1. API 개발 순서
1. 웹개발 기초 2강 수강
2. 웹개발 기초 3강 수강
3. 웹개발 기초 4강 수강
4. 웹개발 기초 5강 수강