πŸͺ΄ μ„±μž₯일지

μ±… ν–‰λ³΅ν•œ 이기주의자(웨인 닀이어)의 λ‚΄μš©μ— μžκ·Ήλ°›μ•„ μ‹œμž‘ν•˜λŠ” μ†Œλ°•ν•œ μ„±μž₯기둝

μ‚΄μ•„μžˆλŠ” 꽃과 죽은 꽃은 μ–΄λ–»κ²Œ κ΅¬λ³„ν•˜λŠ”κ°€?
μ„±μž₯ν•˜κ³  μžˆλŠ” 것이 μ‚΄μ•„ μžˆλŠ” 것이닀.
생λͺ…μ˜ μœ μΌν•œ μ¦κ±°λŠ” μ„±μž₯이닀!

🌳 ν‚€μ›Œλ“œ

νŒ¨ν‚€μ§€

λͺ¨λ“ˆ(κΈ°λŠ₯λ“€μ˜ 묢음)을 λͺ¨μ•„놓은 κ²ƒμœΌλ‘œ, 이런 νŒ¨ν‚€μ§€μ˜ λ¬ΆμŒμ„ 라이브러리고 함. 일반적으둜 νŒ¨ν‚€μ§€μ™€ λΌμ΄λΈŒλŸ¬λ¦¬λŠ” ν˜Όμš©ν•΄μ„œ μ‚¬μš©

python가상 ν™˜κ²½(Virtual Environment)

같은 μ‹œμŠ€ν…œμ—μ„œ μ‹€ν–‰λ˜λŠ” λ‹€λ₯Έ 파이썬 μ‘μš© ν”„λ‘œκ·Έλž¨λ“€μ˜ λ™μž‘μ— 영ν–₯을 주지 μ•ŠκΈ° μœ„ν•΄μ„œ λ”°λ‘œ 배포 νŒ¨ν‚€μ§€λ“€μ„ μ„€μΉ˜ 및 μ—…κ·Έλ ˆμ΄λ“œν•  수 있게 ν•΄μ£ΌλŠ” 격리된 μ‹€ν–‰ ν™˜κ²½

  • ν”„λ‘œμ νŠΈλ§ˆλ‹€ μ‚¬μš©ν•˜λŠ” νŒ¨ν‚€μ§€λŠ” λ‹€λ₯΄κ³ , κ·Έ 버전이 λ‹€λ₯΄κΈ°λ„ 함. 컴퓨터 ν•œ λŒ€μ—μ„œ μ—¬λŸ¬ ν”„λ‘œμ νŠΈλ₯Ό 진행 μ‹œ, 각 ν”„λ‘œμ νŠΈλ§ˆλ‹€ 가상 ν™˜κ²½μ„ λ§Œλ“€κ³  ν•„μš”ν•œ νŒ¨ν‚€μ§€λ₯Ό μ„ νƒμ μœΌλ‘œ κ΅¬μ„±ν•˜μ—¬ ν™œμš©ν•  수 있음
<!-- ν”„λ‘œμ νŠΈ ν΄λ”μ—μ„œ .venvλΌλŠ” 폴더 생성 -->
python3 -m venv .venv
<!-- κ°€μƒν™˜κ²½ ν™œμ„±ν™” -->
source .venv/bin/activate
<!-- ν™œμ„±ν™” ν›„ νŒ¨ν‚€μ§€ μ„€μΉ˜(가상 ν™˜κ²½μ— μ„€μΉ˜λ¨) -->
pip install requests

python requests νŒ¨ν‚€μ§€

import requests

r = reqeusts.get('api url')
rjson = r.json()

print(rjson) # 데이터 확인

python μ›Ή μŠ€ν¬λ ˆμ΄ν•‘(scraping) feat.bs4

μ›Ή μŠ€ν¬λ ˆμ΄ν•‘μ΄λž€ μ›Ή νŽ˜μ΄μ§€μ—μ„œ μ›ν•˜λŠ” λΆ€λΆ„μ˜ 데이터λ₯Ό μˆ˜μ§‘ν•΄μ˜€λŠ” 것을 의미

πŸ”΄ 크둀링(crawling) μžλ™ν™”ν•˜μ—¬ 주기적으둜 μ›Ή νŽ˜μ΄μ§€λ₯Ό λŒμ•„λ‹€λ‹ˆλ©° λΆ„λ₯˜/μƒ‰μΈν•˜κ³  μ—…λ°μ΄νŠΈ 된 뢀뢄을 μ°ΎλŠ” 등읠 일을 ν•˜λŠ” 것 μ°Έκ³ : μŠ€ν¬λ ˆμ΄ν•‘ vs 크둀링

import requests
from bs4 import BeautifulSoup

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)

# BeautifulSoup λΌμ΄λΈŒλŸ¬λ¦¬μ„ 톡해 HTML을 κ²€μƒ‰ν•˜κΈ° μš©μ΄ν•œ μƒνƒœλ‘œ λ§Œλ“¦
# soupμ΄λΌλŠ” λ³€μˆ˜μ— "νŒŒμ‹±ν•˜κΈ° μš©μ΄ν•œ html"이 μ €μž₯됨
soup = BeautifulSoup(data.text, 'html.parser')
# 데이터 확인
print(soup)

μ°Έκ³ : bs4 곡식 λ¬Έμ„œ

DB(DataBase)

RDBMS(SQL)

  • μ—‘μ…€μ²˜λŸΌ 데이터λ₯Ό ν–‰κ³Ό μ—΄μ˜ ν‘œ ν˜•νƒœλ‘œ μ €μž₯
  • 데이터가 일관적이고 뢄석이 νŽΈν•¨
  • 단, 쀑간에 μ—΄(컬럼)을 μΆ”κ°€ν•˜λŠ” 등이 어렀움

NoSQL

  • λ”•μ…”λ„ˆλ¦¬ ν˜•νƒœλ‘œ 데이터λ₯Ό μ €μž₯
  • λ°μ΄ν„°λ§ˆλ‹€ 같은 ν•„λ“œκ°’μ„ κ°€μ§ˆ ν•„μš”κ°€ 없이 비ꡐ적 자유둜운 데이터 적재 방식
  • 단, 그만큼 λ°μ΄ν„°μ˜ 일관성이 떨어짐