일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- github
- Project
- javascript
- mysql
- PYTHON
- flaskframework
- body
- CSS
- OOP
- requests
- pymongo
- POST
- Algorithm
- java
- fetch
- get
- Crawling
- CRUD
- mongodb
- venv
- portfolio
- openapi
- json
- atlas
- synology
- beautifulsoup
- frontend
- flask
- backend
- NAS
- Today
- Total
목록전체 글 (205)
wisePocket
현재까지 배운 내용들로 웹 크롤링 하기 실습을 최대한 안보고 진행해보자. Genie라는 음악 스트리밍 서비스에서 실시간, 일간, 주간, 월간 등 다양한 랭킹 차트를 제공한다. 그 중 가장 최근인 2023년 6월 월간 음악 랭킹 차트를 크롤링하고 URL = https://www.genie.co.kr/chart/top200?ditc=M&rtm=N&ymd=20230601 "순위 / 곡 제목 / 가수" 데이터를 가져오는 것을 실습하고자 한다. 0. 라이브러리 임포트와 HTML 크롤링 웹 크롤링을 위해서 requests를 받아온 html 소스를 parsing(문자열들을 분석/분해/구조화/가공 해주는 프로세스)해줄 수 있는 beautifulsoup을 임포트하면서 시작한다. # 크롤링 = 웹페이지에서 어떤 데이터를 ..
requests, beautifulsoup 라이브러리를 활용하여 웹 페이지의 원하는 정보를 크롤링하고 DB에 insert, read하는 과정까지 진행했다. 이번에는, 웹 크롤링 한 데이터를 Insert한 DB 자료를 DB에서 원하는 정보를 수정(편집)하는 == Update == Update_one 를 진행해보려 한다. 1. Update == update_one DB에 저장된 데이터중에 "영화 제목 '부당거래'의 연령 제한을 '18세 이상 관람가'로 수정하자" 영화 제목 = title이라는 key 부당거래 = title의 value값 연령제한 = 'age'라는 key의 value값을 '18세 ... '로 수정 1개 바꾸기 update_one 코드는 다음과 같다. #dbprac3_1_movie_insert ..
requests, beautifulsoup 라이브러리를 활용하여 웹 페이지의 원하는 정보를 크롤링하고 DB에 insert하는 과정까지 진행했다. 이번에는, 웹 크롤링 한 데이터를 Insert한 DB 자료를 DB에서 원하는 정보를 찾아오는 == Read == Find_one / Find 를 진행해보려 한다. 0. Insert 복습 우선 insert 과정을 복습할겸 db.movies2 라는 collection에 2010년 영화 랭킹 웹 페이지에서 새로 데이터를 insert했다. movies2 collection에 데이터를 넣는 스크립트는 다음과 같다. # 웹 크롤링을 위한 requests, bs4 Import import requests from bs4 import BeautifulSoup # Python과..
requests, beautifulsoup 라이브러리를 활용하여 웹 페이지의 원하는 정보를 크롤링 했었다. https://ohnyong.tistory.com/32 [Python] 파이썬 크롤링 with BeautifulSoup(bs4) - 2 History venv로 파이썬을 연습하고 있는 폴더의 가상 환경 구축을 완료 requests 라이브러리를 사용 BeautifulSoup 라이브러리 설치 및 사용 영화 예매 순위 사이트에서 제목 가져오기 크롤링 연습 완료 Ti ohnyong.tistory.com 0. 위 크롤링 실습 링크의 요약 웹 크롤링의 필수 코드는 다음과 같다. import requests from bs4 import BeautifulSoup URL = "https://movie.daum.ne..
MongoDB는 BSON으로 데이터가 쌓이기 때문에 Array 데이터나 Nested한 데이터를 쉽게 넣을 수 있는 특징이 있다. 우선 Oracle을 주로 사용했기 때문에 햇갈리는 부분이 많다. MongoDB의 DB계층구조 부터 Oracle과 비교해서 개념을 정리했다. SQL문은 대체로 유사한데 비교하여 주석하면서 테스트했다. db = 데이터베이스는 컬렉션의 물리적 컨테이너. 하나의 데이터베이스에는 보통 여러개의 컬렉션을 가질 수 있다. user = collection이다. Document 의 그룹이며 RDBMS Oracle의 예를 들면 Table 과 같은 개념 +- collection 내에 Document 는 하나의 키(key) 와 값(value)의 집합이다. Oracle MongoDB Database ..
파이썬에서 MongoDB를 사용하면서 CRUD기능의 SQL문을 사용하는 것을 실습해보았다. 전체 코드는 다음과 같다. from pymongo import MongoClient import certifi ca = certifi.where() client = MongoClient('mongodb+srv://ohnyong:test@cluster0.lu7mz8j.mongodb.net/?retryWrites=true&w=majority',tlsCAFile=ca) db = client.dbsparta # Dictionary 선언 # doc = { # 'name':'영수', # 'age':24 # } # insert문 # db.users.insert_one(doc) #------------ CRUD SQL -----..
내 로컬 PC에 설치된 Python 웹 클라우드 서비스에 위치한 MongoDB 이 두개를 연결하고 데이터를 주고 받는, 상호 제어 할 수 있도록 하는 것이 이번 실습이다. 우선 Python에서 웹에 있는 MongoDB를 조작하기 위해서는 조작 할 수 있는 "라이브러리"가 필요하다. dnspython pymongo 1. dnspython, pymongo 라이브러리 설치 VSCode에서 venv 설정된 터미널에서 dnspython을 설치한다. pip install dnspython 마찬가지로 VSCode 터미널에서 pymongo를 설치한다 pip install pymongo 2. pymongo 를 사용해서 DB에 접속해보자 pymong로 DB를 연결하는 코드이다. from pymongo import Mong..
DB를 사용하는 주된 이유? 데이터를 넣기 위함? (X) 데이터를 잘 찾기 위함 (O) DB의 종류 RDBMS(SQL) 행/열의 생김세가 정해짐 엑셀에 데이터를 저장하는 것과 유사하다. 정형화되어 있는 만큼 데이터의 일관성이 있다. 분석에 용이 할 수 있다. No-SQL(Not-only SQL) 행/열의 생김세가 정해짐 엑셀에 데이터를 저장하는 것과 유사하다. 정형화되어 있는 만큼 데이터의 일관성이 있다. 분석에 용이 할 수 있다. 클라우드 서비스인 MongoDB Atlas 가입해보자 MongoDB Atlas 회원 가입 진행(Google 로그인) https://account.mongodb.com/account/register Cloud: MongoDB Cloud account.mongodb.com Pla..
2주차에는 JavaScript가 주요 주제였고 기본적으로 Dictionary를 가지고 선언된 값 출력과 스타일 적용 또한 정상적으로 작동되는지 확인하는 과정을 배웠다. OpenAPI 데이터는 처음 데이터를 받아보면 가시성이 떨어지는 데이터를 받게되는데 JSONVue를 통해 해당 데이터가 Dictionary 구조로 되어있음을 확인할 수 있다. 이것을 JSON 형식이라 할 수 있다. 이후 Fetch라는 함수를 계속 사용한다. Fetch는? URL을 넣으면 그 데이터를 가져오는 친구다. 가져온 데이터를 웹페이지에 출력하는 실습이 여러번 진행되었다. Fetch의 기본 골격은 자주 사용 될 것이다. fetch("여기에 URL을 입력").then(res => res.json()).then(data => { cons..
History venv로 파이썬을 연습하고 있는 폴더의 가상 환경 구축을 완료 requests 라이브러리를 사용 BeautifulSoup 라이브러리 설치 및 사용 영화 예매 순위 사이트에서 제목 가져오기 크롤링 연습 완료 Title 말고 다른 요소들도 가져와보자 1. 예매 순위 예매 순위는 rank_num이란 클래스를 사용하고 있다. 제목을 뽑아낼때랑 같다. rank변수에 넣고 print로 뽑아낸다. # 리스트 중에 반복문으로 # li 코드 내용 중에 클래스가 a class="link_txt"로 되어있는 태그부분만 가져오자 for li in titles: rank = li.select_one('.rank_num').text title = li.select_one('.link_txt').text # pri..
History venv로 파이썬을 연습하고 있는 폴더의 가상 환경 구축을 완료 requests 라이브러리를 사용 BeautifulSoup 라이브러리 설치 및 사용 1. BeautifulSoup 라이브러리 설치 venv 가 활성화된 터미널에서 아래 커맨드로 BeautifulSoup란 라이브러리를 설치한다. BeautifulSoup 라이브러리는 엄청 많은 HTML 코드 중에 우리가 원하는 특정 부분 을 빠르고 쉽게 필터링 해주는 라이브러리이다. pip install bs4 이같은 화면이 나타나고 금새 라이브러리 설치가 완료된다. 2. 라이브러리 임포트 라이브러리 설치가 완료되면 requests, 새로 설치한 BeautifulSoup 임포트 import requests from bs4 import Beauti..
이전글에서 venv로 파이썬을 연습하고 있는 폴더의 가상 환경 구축을 완료했다. 본격적으로 파이썬의 라이브러리를 사용해보고자 한다. requests라는 라이브러리를 사용해보자. 1. requests 라이브러리 설치 venv 가 활성화된 터미널에서 아래 커맨드로 requests란 라이브러리를 설치한다. pip install requests 이같은 화면이 나타나고 금새 라이브러리 설치가 완료된다. 2. 라이브러리 임포트 라이브러리 설치가 완료되면 프로젝트에서는 해당 라이브러리의 내용을 사용하기 위해서 파이썬에서 코드를 작성하는 가장 윗부분에 requests 임포트 # requests 라이브러리 임포트 import requests 이제 requests 라이브러리의 개발자의 도큐먼트에 따라서 어떤 기능들을 사용..
프로젝트마다 가상 환경을 생성하여 패키지를 관리하기 위함. 프로젝트마다 버전을 다른 것을 사용하다보면 상위 버전 또는 하위 버전에서 서로 지원하지 않는 라이브러리간 충돌이 발생 할 수 있다. 파이썬에서는 패키지를 설치할 때는 보통 pip라는 패키지 매니저를 사용하여 라이브러리를 추가한다. 자바의 maven과 같은 패키지 매니저이다. 노드의 npm이란것을 사용한다고 한다. 자바와 노드는 프로젝트 별로 패키지 설치를 지원하는 반면에(context.xml -> dependency 주입하고, maven update하여 의존성 링크된 라이브러리를 해당 프로젝트에 설치하던 환경 구축 부분과 동일한 것 같다.) 파이썬의 pip는 시스템 전역으로만 패키지를 설치할 수 있다고 한다. 파이썬 3.3 부터는 venv 모듈이..
Python을 시작했다. Java, Javascript 등에서도 학습했던 함수, 변수, 조건문, 반복문 등이 Python에선 어떻게 표현되는지 기초 문법을 사용해보면서 문법 규칙을 공부했다. 가장 기초적인 내용이다. 특별히 주의해야 될 것은 함수는 def라는 명칭으로 시작하고 ' : ' 콜론을 사용한다. 또한 실행될 함수 내용은 ' ' 탭 빈공간으로 열맞춤이 꼭 맞춰줘야 한다는 점. 확실히 Java보다 직관적인 느낌이 있다. 하지만 조금 햇갈려서 딴생각하면 실수할수도 있겠다? 라는점 1. 변수와 연산 # var / calc a=2 b=3 print(a+b) #5 a1='하' a2='에' print(a1+a2) #하에 b1='1' b2='2' print(b1+b2) #12 c1=123.33 c2=52/5 ..
Python을 시작했다. Java나 Python이나 결국 내가 입력한 코드를 0101처럼 컴퓨터가 알아 들을 수 있게 바꿔주는 '번역기' 역할이라고 생각하자. 이는 한마디 할 때마다 동시통역해주는 방식을 인터프리트(interpret) 방식이라고 하고, 말하는 것을 처음부터 끝까지 듣고 나서 한꺼번에 바꿔주는 것을 컴파일(compile) 방식이라고 한다. Java나 Python이나 인터프리터, 컴파일러 정확하게 구분하지 않는다고 한다. 성능의 효율을 끌어올리기위해 컴파일과 인터프리터 방식을 병행해서 사용하게 됐다고 한다. 어떤 성능의 차이인지 좀더 깊게 역사와 개념을 공부해야 하지만 당장에는 Python 환경 구축과 "Hello World"를 찍는데 집중 1. Python 설치(MacOS) 해당 과정에서는..