내일배움캠프 2일차 개발일지

김광훈·2021년 9월 14일
0

TIL(Today I Learned)

목록 보기
2/49

잡담

2일차 하루종일 의자에 앉아서 웹개발 강의만 듣고있다. 내 머리속에 제대로 들어오고있는지도 잘 모르겠지만, 그래도 열심히 하는 기분이 들어서 뿌듯한 느낌이다. 그 외에도 전에는 중요한데 무심코 지나갔던 부분이 꽤나 많았다 마치 그때의 기분이란 "이걸 놓쳐?!" 라고 생각될 정도여서 반복 숙달의 중요성을 다시한번 상기시킬 수 있었다.
또한 여전히 완전히 이해하지 못하고 개발을 하고 있는거 같다, 특히 API에 대한 깊은 이해하기 위해 좀 더 공부를 해야 될 것 같다...

PYTHON 크롤링,서버 제작

오늘 PYTHON을 이용해서 웹페이지를 크롤링하고, 프레임워크('FLASK')를 이용해 서버도 만들었다.
1. PYTHON 크롤링

  • requests 브라우저의 기능 중에 http 요청을 적절한 서버에 함으로써 response를 받는 기능이 있는데, 이 역할을 대신해주는 라이브러리이다. 요청한 데이터를 브라우저가 받는 것이 아니라 파이썬 코드쪽으로 받게 만든다.

    requests와 selenium 의 차이점
    requests와 다르게 selenium은 직접적으로 http를 건드리는 것이 아니라 브라우저 자체를 컨트롤하는 라이브러리이다. 서버 입장에서는 프로그램이 서버에 요청하는지 일반 브라우저에서 요청하는지 구분이 어렵다.

  • bs4(beautifulsoup) 라이브러리는 requests를 통해 받은 코드를 솎아 내서 내가 원하는 정보로 데이터 전처리를 수행할 수 있게 만들어준다.

    이때 웹페이지의 선택자(selecter)를 이용하는데 쉽게 말해 해당 코드가 이용하는 경로를 알려주는 역할을 한다.

  1. PYTHON 서버 제작
  • flask를 이용해서 서버를 제작했다. 이때 만든 서버는 localhost:5000을 주소로 갖지만 포트 5000은 언제든지 바꿀 수 있다. 하지만 일반적으로 포트번호는 다른 포트번호가 이미 할당되어 있을 가능성이 높으므로 변경하지 않는 것을 추천한다.

    [프레임워크와 라이브러리의 차이점]
    프레임워크는 이미 형식이 정해져 있는 문서와 같다. 그래서 형식에 맞게 내용을 집어 넣으면 된다.
    라이브러리는 다양한 블록과 같다. 그래서 이미 제작되어 있는 다양한 블록으로 내가 원하는 모습을 만들 수 있다.

  • flask로 서버를 만들고 크롤링해온 자료들을 저장하기위해 pymongo를 이용했다. pymongo를 이용하기 위해서 데이터가 저장되는 mongodb를 설치했다. 또한, 이를 USER가 볼 수 있게 시각화시켜주는 프로그램은 robo 3T를 설치하여 이용했고, 이를 다루기 위해서 PYTHON의 pymongo 라이브러리를 이용해서 데이터를 정리했다.

서버 GET,HOST에 대한 이해...

클라이언트는 API를 통해 서버에게 요청할 수 있는데 이때, GET과 HOST가 있다. 하지만, 두가지 뿐만 아니라 여러가지가 있는데 이번 기회에 두가지에 대해서 배울 수 있었다.
GET의 경우 서버로부터 정보를 받아올 때 사용되며, HOST는 업데이트,삭제,추가 등 다양한 이유로 많이 사용된다.
1. API 개발 순서

  • 서버와 클라이언트가 연결확인
  • 서버부터 만들기
  • 클라이언트 만들기
  • 완성하기

오늘의 To-do List

1. 웹개발 기초 2강 수강
2. 웹개발 기초 3강 수강
3. 웹개발 기초 4강 수강

4. 웹개발 기초 5강 수강

profile
잘 부탁드려요

0개의 댓글