웹개발 종합반 항해 8기-3

Ye Seo Lee·2022년 7월 3일
0

스파르타

목록 보기
8/10

1. python 기본문법

기본 문법

// 리스트
a_lsit = ['사과','배','감']
print(a_lsit)

// 딕션
a_dict = {'name':'bob','age':27}
a_dict['heigth'] = 178
print(a_dict)

// 함수
def is_adult(age):
    if age > 20:
        print('성인입니다')
    else:
        print('청소년입니다.')
is_adult(5)
is_adult(30)

// 반복문 & if
fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
count = 0
for ff in fruits:
    if ff == '배':
        count += 1
print(count)

// 딕션 & 리스트 & 반복문 & if
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:
    print(person['name'],person['age'])
    if person['age'] < 20:
        print(person)

DB 넣기

// BeautifulSoup 라이브러리 가져오기
import requests
from bs4 import BeautifulSoup

// Mongo DB 가져오기
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta

// web url 가져오기
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('https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20200303',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

trs = soup.select('#old_content > table > tbody > tr')

for tr in trs:
    a_tag = tr.select_one('td.title > div > a')
    if a_tag is not None:
        title = a_tag.text
        rank = tr.select_one('td:nth-child(1) > img')['alt']
        point = tr.select_one('td.point').text
        doc ={
            'rank':rank,
            'title':title,
            'point':point
        }
        db.movies.insert_one(doc)

문자열 함수

str = " Life is good "     
lenStr = len(str) # 문자열 길이 구하기     
findStr = str.find('i') # 특정 문자 찾기     
upeerStr = str.upper() # 문자열 대문자로     
lowerStr = str.lower() # 문자열 소문자로     
stripStr = str.strip() # 양쪽 공백 없애기     
replaceStr = str.replace("Good","Bad") # 특정 문자열 바꾸기     
splitStr = str.split() # 문자열 나누기     
     
print(lenStr,findStr,upeerStr,lowerStr,sep=' | ')    
  >> result : 16 | 3 | LIFE IS GOOD | life is good    
print(stripStr,replaceStr,splitStr,sep=' | ')    
  >> result : Life is good |   Life is good   | ['Life', 'is', 'good']

len() : 문자열 길이 구하기

find() : 특정 문자 찾기

upper() : 문자열 대문자로

lower() : 문자열 소문자로

capitalize() : 첫 문자를 대문자로

strip() : 양쪽 공백 없애기

replace() : 특정 문자열 바꾸기

split() : 문자열을 리스트 문자열로 분리

join() : 특정 문자나 문자열로 다른 문자를 연결

format() : 문자열 안의 place holder에 원하는 값을 대체

** sep = ' ' : 콤마 대신하기

indexing
: 브라켓[]과 인덱스를 사용하여 특정 위치의 문자 하나를 추출하는 것

slicing
: 브라켓[]을 사용하여 하나의 문자부터 여러 개의 문자를 추출하는 것

[ start : stop : step ]

  • start - 추출하고자 하는 문자열의 첫 index
  • stop - 추출하고자 하는 문자열의 마지막 문자 index+1
  • step - start에서 stop까지 증가폭 (생략가능 > 기본값 1로 자동 설정)

2. python 가상환경(venv)

가상 환경(virtual environment) 이란?
: 같은 시스템에서 실행되는 다른 파이썬 응용 프로그램들의 동작에 영향을 주지 않기 위해, 파이썬 배포 패키지들을 설치하거나 업그레이드하는 것을 가능하게 하는 격리된 실행 환경 입니다.
(새로운 프로젝트의 라이브러리를 가상환경(공구함)에 설치하려면 pip 를 이용하게 됩니다.)

  • requests : API html 가져오는 라이브러리
  • bs4 : API 요소 찾아주는 라이브러리
  • pymongo : MongGo DB 연결 라이브러리
  • dnspython : MongGo DB python 사용 라이브러리

python libaries 셋팅하기

import requests
from bs4 import BeautifulSoup

0개의 댓글