[서피터의 스파르타 코딩클럽] 3주차

서피터·2021년 8월 4일
0
post-thumbnail

강의 내용

  • 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를 배울때와 흡사한게 많아 처음에는 이해가 쉽게 되는듯 싶었지만 어느순간 헷갈리기 시작했다. ㅎㅎ
강의를 들을때마다 외우는게 아니라고 하셨는데;; 개념 이해를 확실히 해야 잘 가져다 쓸수 있을거같다.
복습만이 살길이다!

profile
코딩하는 루이형 aka 서피터

0개의 댓글