일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- pymongo
- CRUD
- OOP
- portfolio
- mongodb
- Project
- frontend
- POST
- fetch
- PYTHON
- json
- Crawling
- beautifulsoup
- NAS
- openapi
- synology
- flask
- CSS
- venv
- flaskframework
- mysql
- javascript
- backend
- requests
- Algorithm
- atlas
- body
- github
- java
- get
Archives
- Today
- Total
wisePocket
[웹개발 종합] 3주차 스터디(WIL) 본문
3주차는 Python입문과 웹크롤링, MongoDB까지 과정을 배웠다.
Python:
- 함수, 변수, 조건문, 반복문 등이 Python에선 어떻게 표현되는지 기초 문법을 사용
- 주의해야 될 것은 함수는 def라는 명칭으로 시작하고 ' : ' 콜론을 사용한다. 또한 실행될 함수 내용은 ' ' 탭 빈공간으로 열맞춤이 꼭 맞춰줘야 한다는 점
- 가상환경 venv 구축법(python3 -m venv .venv)
- venv내 라이브러리 설치법 (pip install xxx)
- 라이브러리 임포트(import xxx)
- requests 라이브러리 사용해보기(js fetch와 비슷한 역할) 데이터 가져오기 (data = requests.get(’link’)
- 크롤링에서 **BeautifulSoup 라이브러리 사용해보기(**우리가 원하는 특정 부분 을 빠르고 쉽게 필터링 해주는 라이브러리)
- 크롤링 필수 코드
import requests
from bs4 import BeautifulSoup
URL = "https://movie.daum.net/ranking/reservation"
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)
soup = BeautifulSoup(data.text, 'html.parser')
- soup의 select()를 통해 원하는 데이터 스코프를 지정
MongoDB
- 클라우드 서비스인 MongoDB Atlas 가입
- Python에서 웹에 있는 MongoDB를 조작 환경구축
- • dnspython라이브러리 설치pip install dnspython
- • pymongo라이브러리 설치pip install pymysql
- pymongo 를 사용해서 DB에 접속
# Python과 DB를 연결하는 코드(공통)
# MongoDB를 사용할 준비가 되었다.
from pymongo import MongoClient
import certifi
ca = certifi.where()
client = MongoClient('mongodb+srv://<account>,test@cluster0.lu7mz8j.mongodb.net/?retryWrites=true&w=majority',tlsCAFile=ca)
db = client.dbsparta
- from pymongo import MongoClient client = MongoClient('여기에 URL 입력') db = client.dbsparta
- Atlas에 들어가서 준비해둔 DB에서 Connection string을 URL에 입력
- certifi 라이브러리 필요(os마다다름)
- SSL: CERTIFICATE_VERIFY_FAILED 에러 해결
# INSERT_ONE
# 저장 - 예시
# doc = {'name':'bobby','age':21}
# db.users.insert_one(doc)
# READ(FIND_ONE)
# 한 개 찾기 - 예시
# user = db.users.find_one({'name':'bobby'})
# print(user)
# READ(FIND)
# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
# all_users = list(db.users.find({},{'_id':False}))
# for a in all_users:
# print(a)
# UPDATE
# 바꾸기 - 예시
# db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
# DELETE
# 지우기 - 예시
# db.users.delete_one({'name':'bobby'})
웹 크롤링 데이터를 DB와 연결하여 넣기, 찾기, 수정하기
- Python에서는 줄바꿈(탭)을 유의
- 크롤링 할 때 계층 구조를 정확히 이해하면서 원하는 데이터가 어디 있는지 파악
해당 스터디는 아래 깃을 통해 업데이트 되고 있습니다.
https://github.com/yzpocket/Sparta99training
'Python&Flask Tutorials, AWS EB > WIL' 카테고리의 다른 글
[웹개발 종합] 5주차 스터디(WIL) (0) | 2023.07.22 |
---|---|
[웹개발 종합] 4주차 스터디(WIL) (0) | 2023.07.15 |
[웹개발 종합] 2주차 스터디(WIL) (0) | 2023.07.05 |
[웹개발 종합] 1주차 스터디(WIL) (0) | 2023.06.25 |