회고/Today I Learned

[TIL] 9.14 - 스파르타 내일배움캠프 2일차 (Jquery /크롤링 / MongoDB(파이썬 연동), Robo3T)

민돌v 2021. 9. 14. 15:47

9.14

웹 프로그래밍 A-Z기초 2주차


1) jquery

1. [class, id 지칭] - css 와 반대

class : ex) $(".class").val()

id : ex) $("#id").val()

 

2. 백틱(``) - jquery html append

let temp_html = ``

temp_html = `<button> 이 버튼이 삽입됨</button>`

$('#html_id').append(temp_html)

 

3. 제이쿼리 이미지 src 변경 (jquery img src)

$('#img').attr('src', url);

 

4. 윂이지 로딩 후 호출 (바로 호출)

jquery를 이용하여 웹페이지가 로딩됨과 동시에 함수를 호출하고 싶다면 아래의 코드를 삽입하면 된다.

$(document).ready(function (){
        func();
    });

 

 

웹 프로그래밍 A-Z기초 3주차



2) Python

1. 파이참에서 파이썬 외부 라이브러리(패키지) 사용하기

pip - python install package

  1. [File] - [Settings] - [Project: pythonpac] - [Python Interpreter]
  2. 필요한 패키지 검색해서 [Install Package] 로 설치

+ 버튼 클릭

 

 


 

3) 크롤링

  • 크롤링이란, 웹상의 html 소스크드를 긁어오는 와서, 데이터로서 사용하는 것이다.

 

1. ds4 패키지를 설치하여 BeautifulSoup 을 이용한다.

[크롤링 기본 서식]

import requests
from bs4 import BeautifulSoup

# 타겟 URL을 읽어서 HTML를 받아오고,
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('url',headers=headers)

# HTML을 BeautifulSoup이라는 라이브러리를 활용해 검색하기 용이한 상태로 만듦
# soup이라는 변수에 "파싱 용이해진 html"이 담긴 상태가 됨
# 이제 코딩을 통해 필요한 부분을 추출하면 된다.
soup = BeautifulSoup(data.text, 'html.parser')

 


 

4) MongoDB 와 Robo3T

 

MongoDB, Robo3T

  • mongodb는 화면에 보이지 않지만 가동되고있는 서버이다.
  • 이런 MongoDb를 눈에보이고 제어하기 위한 툴이  Robo3T이다.
  • MongoDB는 딕셔너리가 쌓이는 것이다.

 

NoSql - (Not only Sql)

  • MongoDB는 NoSql의 종류 중 하니인데, Sql처럼 정형화 되어있지 않고, 딕셔너리 형태로 데이터를 저장해두는 DB를 NoSql이라 한다.
  • Sql 보다 조금더 자유로운 형태이지만,  일관성이 부족할 수 있다는 단점이 있다.

Sql 과  NoSql의 차이.. NoSql이 조금 더 자유롭고, SQL은 정형화되어있는 데이터베이스

 


 

1. pymongo -  MongoDB 와 Python 연동

  • 파이썬에서 mongodb를 조작하기 위해선 pymongo 라이브러리를 이용할 수 있다.

 

pymongo 라이브러리 설치 후 기본골격은 아래와 같다.

from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta

# insert
doc = {'name' : 'hm', 'age' : 25}
db.users.insert_one(doc)
  • MongoClient : 몽고디비에 접속
  • client.dbsparta : dbsparta 데이터베이스에 접속, (없으면 자동으로 생성된다)

 


 

2. MongoDB 구조 - (Database, Collection, Document)

Database

  • 데이터베이스는 컬렉션의 물리적인 컨테이너이다. 제일 윗단의 개념이며 여러개의 컬렉션을 가지고 있다. (데이터의 집합체)

Collection

  • 컬렉션은 Document의 그룹이며, RDBMS(sql) 의 테이블과 유사한 개념이다.
  • 컬렉션 안의 document는 일반적으로 유사한 데이터를 모은다.

Document

  • Document는 키(key) 와 값(value)로 이루어져 있는 동적 스키마이다.
  • 딕셔너리 형태의 구조를 가진다.

 


3. MongoDB 데이터 조작 - [ insert, find, update, delete ]

 

# insert
doc = {'name' : 'hm', 'age' : 25}
db.users.insert_one(doc)

#find (모든 데이터)
same_ages = list(db.users.find({'age':21},{'_id':False}))

#find_one (한 개의 데이터)
user = db.users.find_one({'name':'bobby'})

#update - bobby 의 나이를 변경  ($set)
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

#update_many    해당되는 모든 데이터의 값을 변경
db.users.update_many({'name':'bobby'},{'$set':{'age':19}})

#delete
db.users.delete_one({'name':'bobby'})