강의 내용
Python
python, MongoDB (localhost:27017), Robo3T, Git bash 설치
Python 으로 웹에 있는 데이터를 불러오는 크롤링
그것을 저장할수있는 MongoDB
복습 : (jQuery, Ajax)
$(document).ready(function(){
listing();});
function listing() {
$.ajax({
type: "GET",
url: "",
data: {},
success: function(response){
console.log(response)
}
})
}
Python 설치 = Python 번역팩을 설치 했다라고 보면된다
직관적이며 라이브러리도 풍부! 진입장벽이 낮다고 한다
Print('Hello sparta')
개발자가 보기 위해 "ctrl+shift+F10" 우클릭 실행
Python 기초 문법
숫자는 문자열로 표기 num = str(2) 또는 '2'
리스트 추가 a_list.append('')
딕션어리 추가 a_dict['height'] = 178
함수
def sum(num1,num2):
return num1+num2
result = sum(2,3)
조건문
age = 25
if age > 20
Print('성인입니다')
else:
Print('청소년입니다')
반복문
fruits = ['사과','배','배','수박','귤','딸기','사과','배','수박']
for fruit in fruits:
print(fruit)
Request 패키지
import requests
r = requests.get('url')
rjson = r.json()
print(rjson['RealtimeCityAir']['row'][0]['NO2'])
웹스크래핑(크롤링) bs4 설치
크롤링 기본세팅
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')
soup = BeautifulSoup(data.text, 'html.parser')
기본세팅후, 스크래핑(크롤링) 할 부분을 셀렉트
여러 개 셀렉트는 soup.select('')
한 개 셀렉트는 soup.select_one('')
셀렉트 할 항목은 개발자 도구 > copy > copy selector
텍스트를 가져올땐 print(title.text)
속성을 가져올땐 print(title['href'])
크롤링은 싸이트 생김새 마다 다르므로 전략필요
예) 가져와야하는 리스트 중간에 줄이 있으면(None)
if a_tag is not None:
title = a_tag.text
Print(title)
MongoDB
Database 는 데이터를 잘 가져다 쓰려고 (잘 찾기위해) 쓰임
DB 의 두가지 종류 > SQL / NoSQL
DB 는 프로그램이자 컴퓨터의 역활이다.
SQL
엑셀형식에 가까움
미리 만들어진 칸에 채워나가는 방식
중간에 바꾸기가 불편함
정형화된 데이터를 뽑아갈떈 최적화!
일관적인 데이터로 분석하기 용이함
ex) MS-SQL, MY-SQL, Oracle
NoSQL (not only SQL)
정해진 틀 없이 한줄 한줄 딕션어리형태로 들어가있음
바뀔일이 많은 초기 서비스 또는 기업에서 많이 사용 (유연함)
ex) MongoDB
Pymongo로 DB 조작하기
pycharm > pythonprac > setting > pythoninterpreter > pymongo (install)
파이몽고 기본코드 (Robo3T로 확인 가능!)
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
"#insert / find / update / delete"
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
same_ages = list(db.users.find({'age':21},{'_id':False}))
user = db.users.find_one({'name':'bobby'})
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
db.users.delete_one({'name':'bobby'})
소감
3주차 강의가 끝났다!
jQery 와 Ajax를 복습하며 시작했고, Python의 기초문법과 크롤링이 메인이였고 마지막으로 MongoDB 조작법을 배워보았다.
JS를 배울때와 흡사한게 많아 처음에는 이해가 쉽게 되는듯 싶었지만 어느순간 헷갈리기 시작했다. ㅎㅎ
강의를 들을때마다 외우는게 아니라고 하셨는데;; 개념 이해를 확실히 해야 잘 가져다 쓸수 있을거같다.
복습만이 살길이다!