New_3주차

5w31892p·2022년 10월 28일
0

미니캠프

목록 보기
15/17

Ajax 복습

1. .repeat() 함수

  1. 반복해서 문자열을 나오게 하는 JavaScript 내장함수
    '반복할 문자열'.repeat(가져올 변수명)

2. .empty() 함수

  1. 먼저 있던 것들 지우기
$('#해당id').empty();

3. $(document).ready(function(){});

  1. 로딩 후 바로 실행
$(document).ready(function(){
  바로 실행할 함수명();
});

Python

1. 파이썬 기초문법

  1. 변수 & 기본연산

  2. 자료형
    1) 숫자, 문자형
    2) 리스트형
    3) 딕셔너리형

  3. 함수

    def sum(a,b):
    	print('더하자!')
    	return a+b # a+b로 변신시켜라 라는 의미
    
    result = sum(1,2)
    print(result)
  4. 조건문

    def is_adult(age):
    	if age > 20:
      	print('성인입니다')
      else:
      	print('청소년이에요')
          
    is_adult(30) # 성인입니다
  5. 반복문
    1) 리스트 예제 - 배 갯수 세기

    fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
    
    count = 0
    for fruit in fruits: # 보통 단수 in 복수 이렇게 씀
        if aaa == '배':
            count += 1
    
    print(count) # 3

    2) 딕셔너리 예제

    people = [{'name': 'bob', 'age': 20}, 
              {'name': 'carry', 'age': 38},
              {'name': 'john', 'age': 7},
              {'name': 'smith', 'age': 17},
              {'name': 'ben', 'age': 27}]
    
    for person in people:
        if person['age'] > 19:
            print(person['name'])

2. requests 라이브러리 사용해보기

import requests

r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')
rjson = r.json()

rows = rjson['RealtimeCityAir']['row']

for row in rows:
    name = row['MSRSTE_NM']
    mise = row['IDEX_MVL']
    if mise < 40:
        print(name,mise)

3. 크롤링

  1. requests, bs4 필요

  2. 크롤링 기본 세팅

    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)
    
    soup = BeautifulSoup(data.text, 'html.parser')
    
    # 코딩 시작
  3. BeautifulSoup 사용법
    1) 개발자도구 copy selector로 가져오기
    2) None 없애기

    if a != None:
    or
    if a is not None:

    3) 영화 순위, 제목, 평점 가져오기

    movies = soup.select('#old_content > table > tbody > tr')
    for movie in movies:
    	a = movie.select_one('td.title > div > a')
    	if a is not None:
    	rank = movie.select_one('td:nth-child(1) > img')['alt']
    	title = a.text
    	star = movie.select_one('td.point').text
     
    	print(rank,title,star)

MongoDB

MongoDB Cloud

1. MongoDB Cloud 설정

  1. 회원가임
  2. 국가 지정
  3. Network Access 들어가서 모든 ip 가능하게 설정
  4. database → connect → Create Database User
    사용자이름, 비밀번호 지정

2. pymongo 연결

  1. pymongo, dnspython 필요

  2. pymongo 기본 코드

    from pymongo import MongoClient
    client = MongoClient('애플리케이션 코드에 연결 문자열 ')
    db = client.dbsparta
  3. 애플리케이션 코드에 연결 문자열

    database → connect → connect your application → Select your driver and version 지정 후 → 2번에 있는 코드 복사

    1) password 지우고 설정한 비밀번호 적기
    2) mongodb.net/?retryWrites : 해당 Cluster 이름 적기 물음표 앞에

  4. insert로 저장 후 잘 저장되었는지 확인
    database → view Monitoring

3. pymongo로 DB 조작

  1. 저장

    doc = {'name':'bobby','age':21}
    db.users.insert_one(doc)
  2. 한 개 찾기

    user = db.users.find_one({'name':'bobby'})
  3. 여러개 찾기

    all_users = list(db.users.find({},{'_id':False}))
  4. 바꾸기

    db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
  5. 지우기

    db.users.delete_one({'name':'bobby'})

4. pymongo 연습

  1. 씽2게더 평점 가져오기

    movie = db.movies.find_one({'title':'씽2게더'})
    print(movie['star'])
  2. 씽2게더와 같은 평점의 영화 제목 가져오기

    movie = db.movies.find_one({'title':'씽2게더'})
    star = movie['star']
    
    movies = list(db.movies.find({'star':star}))
    
    for m in movies:
        print(m['title'])
  3. 씽2게더 평점 0으로 만들기

    db.movies.update_one({'title':'씽2게더'},{'$set':{'star':'0'}})
    
    or
    
    db.movies.update_one({'title':'씽2게더'},{'$set':{'star':str(0)}})

strip() : 공백제거

strip('~') : ~라는 문자열 제거

0개의 댓글