개발 일기

웹개발 일지 (3) - 크롤링, 파이썬, 서버와 Framework 본문

Tech/Others

웹개발 일지 (3) - 크롤링, 파이썬, 서버와 Framework

flow123 2021. 8. 15. 14:02

#가장 자주 하는 실수는 syntax error 다. 

 

For 문을 이렇게 감싸줘야 . } 하나를 빼먹어서 자꾸 에러가 나는 경우가 많다. for 문을 실행할 때는, for 문과 결과값 까지 같이 감싸줘야 한다. 

 

 

#

기존에 있는 상자들을 없애고 싶을 때

 

 

(1) Ajax 시작 전에 하거나.

 

 

(2) 맨 앞에서 없애고 시작한다

 

#파이썬 시작 

-파이썬을 설치했다는 건 파이썬 interpreter 를 설치했다는 것과 같은 말이다. 

-가상환경 = 프로젝트별 공구함이라고 생각하자. 라이브러리를 담아두는 폴더다. 

 

#에러를 볼 때는 (1) 끝에서 첫 번째: 에러에 대한 설명 (2) 끝에서 두 번째: 에러의 위치 

#태도 

 

중괄호, 대괄호는 언제 쓰지? 이렇게 이해하려고 하면 안됨. Person age키값을 가져올 때는  if person ['age] 통쨰로 쓰네. 이런 맥락?에서 이해하기.

 

#

크롤링: 구글, 네이버 검색 엔진이 사이트 퍼가는 행위. 스크래핑이라는 단어와도 혼용해서 많이 .

크롤링은 정답을 찾아가는 것이 아니라, 되게 만드는 것임. 사람마다 세우는 전략이 다를  있다. 

 

크롤링이 가능한 이유?

Ex. 네이버 영화 페이지: 인터넷과 관계없이 내가 이미 받아온 정보들. 이미 받아온 가지고 솎아 내는 것. 

 

기술적으로 중요한 가지

(1) 코드 단에서 요청하기 requests

(2) 요청 되서 가지고 검사를 눌러서 보면 html 중에 내가 원하는 정보를 솎아내기. Beautiful soup 해줄 .

 

 

#
headers
붙이는 이유 코드단에서 요청 , 기본적인 요청은 막아두는 많다.

 

#DB란?

 

몽고 DB 데이터베이스인데, 눈에 보이지 않게 켜진다. 컴퓨터에서 돌아가고는 있는데 눈에 보이지 않음. 그래서 Robo 3T로 몽고DB를 시각화해서 우리 눈에 보일 있게 하는 것임.

 

DB 종류와 역할.

 

(1) SQL (Excel 가까움)

,행을 미리 정해놔야 . 중간에 바꾸기 불편. 정형화된 데이터 뽑는 최적화. 데이터 일관적. 분석하기도 빠름.

EX) MSSQL, MYSQL, 오라클

 

(2) NoSQL ( 한줄이 DICTIONARY 형태로 들어감. 정형화가 안되어 있음. 어떤 애는 EMAIL 있고 어떤 애는 없고..) 유연함. 초기 서비스, 스타트업이 많이 채택함.

EX) 몽고DB

 

서버: 컴퓨터의 역할. DB 프로그램 하나이자 역할이라고 보면 된다. Mongo DB collection: 비슷한 애들끼리 묶은 개념

 

#

DB를 보면, 이렇게 미묘하게 아이콘 모양이 다른 것을 알 수 있다. 50열의 평점은 숫자로 넣었고, 다른 열은 STRING으로 넣었기 때문이다. 

#
DB를 새로 추가했을 때 오름차 순으로 정렬하는 법. 

 

#

퀴즈 

 

지니 뮤직을 크롤링 해올 때, 순위 데이터를 가져오면 '1상승' 이라고 SPAN 태그에 묶여있던 것도 같이 나왔다. 

SPAN 태그를 어떻게 삭제할 수 있을까 복잡하게 고민했는데, 이 케이스의 경우는 그냥 앞의 것만 잘라주면 되는 거였어서 의외로 간단했다. TEXT[0:2] 요렇게 잘라주면 된다. 

 

이렇게 나오던 것이, 

요렇게 공백이 사라진다. strip()으로 공백을 삭제해줄 수 있다. 

#Framework 란? 

 

-서버

다시 서버의 개념으로 돌아가보면, 서버는 컴퓨터에 돌아가고 있는 하나의 프로그램이다. 엑셀, 파워포인트 이런 것처럼.

보통 개발자들은 본인이 서버를 만들고 (결과물은 localhost 5000을 치면 보인다), 컴퓨터에서 브라우저로 접속을 해봄. 컴퓨터를 2 살 수는 없으니까 이렇게 하는 것이다. 이것이 로컬 개발 환경이다. 이제 html 직접 들어가지 말고, 서버 run 하고 local host 5000으로 들어간다. 

 

#Flask Framework 설치

 

개발자들은 서버를 만들 framework 가져다 쓴다. Framework 를 갖다 쓴다는 건 남이 짜둔 규칙,  안에서 자유롭게 코딩한다는 거다. 즉, 편하다. Library 내가 마음대로 짜는데, 남이 만들어 놓은 중간에 자유롭게 갖다 쓰는 것이다. 하나의 프레임워크 안에서 100개든 1000개든 라이브러리를 갖다 씀

 

Framework 때는 정해진 규칙을 따라줘야 한다. Flask 정해진 폴더 구조가 있음.

 

#API란? 

 

-API: 클라이언트에게서 요청을 받는 창구 같은 개념. API 규칙이 있고 그에 해당하는 주소가 존재한다.

*Get: 데이터 조회를 요청할 때 / Post: 데이터를 바꿀 . (만들거나, 변경하거나, 삭제할 )

서버에 요청할 때는 (1) ajax 콜을 한다 (2) API 만들고 클라이언트에서 Ajax 콜함 (3) Response

 

Comments