웹 프로그래밍 3주차

kinghong97·2021년 12월 15일
0

웹 프로그래밍

목록 보기
3/5

파이썬 기초

파이썬 문법 기초와 내용이 같았다

파이썬 패키지 설치

파이썬에서 모듈을 모아놓은 단위 패키지

패키지를 묶은게 라이브러리

가상 환경 (virtual environment)

프로젝트별로 패키지들을 담는 곳

같은 시스템에서 실행되는 다른 파이썬 응용 프로그램의 동작에 영향을 주지 않기 위해 만든 격리된 실행 환경

설치후 import 해서 사용한다

패키지 별로 사용방법이 다 다르다

requests 사용법

data = requests.get(url)

bs4 사용법

헤더 = {'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=헤더)

해더를 넣는 이유는 컴퓨터가 아니라 사용자처럼 보이기 위함

선택자를 사용하는 방법 (copy selector)
soup.select('태그명')
soup.select('.클래스명')
soup.select('#아이디명')

soup.select('상위태그명 > 하위태그명 > 하위태그명')
soup.select('상위태그명.클래스명 > 하위태그명.클래스명')

태그와 속성값으로 찾는 방법
soup.select('태그명[속성="값"]')

한 개만 가져오고 싶은 경우
soup.select_one('위와 동일')

많은 양을 크롤링할 경우

먼저 soup.select로 리스트로 가져온 후

반복문을 돌리고 soup.select_one로 원하는 부분을 가져온다

DB

DB쓰는 이유

잘 정리하고 잘 찾기 위해서

DB는 인덱스가 있어서 잘 정리되어 있다

DB의 두가지 종류

ROBMS(SQL)

엑셀처럼 정해진 칸에 저장하는 DB

행/열의 생김새가 정해진 엑셀에 데이터를 저장하는 것과 유사합니다. 데이터 50만 개가 적재된 상태에서, 갑자기 중간에 열을 하나 더하기는 어려울 것입니다. 그러나, 정형화되어 있는 만큼, 데이터의 일관성이나 / 분석에 용이할 수 있습니다.

NO-SQL

자유로운 형태로 저장하는 DB

딕셔너리 형태로 데이터를 저장해두는 DB입니다. 고로 데이터 하나 하나 마다 같은 값들을 가질 필요가 없게 됩니다. 자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족할 수 있습니다.

MONGO DB

클러스터까지 생성 후

파이썬과 연동

파이썬에 pymongo와 dnspython 설치 후

import certifi
from pymongo import MongoClient

client = MongoClient('mongodb+srv://test:sparta@cluster0.mr6mv.mongodb.net/Cluster0?retryWrites=true&w=majority', tlsCAFile=certifi.where())

db = client.dbsparta

doc = {
'name':'bob',
'age':27
}
db.users.insert_one(doc)

처음 실행 할때 안됐다가 tlsCAFile=certifi.where()을 달아주니까 해결됐다

이렇게 하면 데이터베이스에 저장이 된다

조작법

insert_one 작성

find 읽기
list(db.users.find({},{'_id':False})) //아이디제외

find_one 하나 읽기
db.users.find_one({'name':'bobby'})

update_one 수정
//db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

delete_one 삭제

users는 저장할 위치

3주차는 여기까지

0개의 댓글