상세 컨텐츠

본문 제목

[코딩] 3주차 파이썬 기초공부

매일매일/공부일기

by 퍼플냥이 2022. 8. 21. 23:07

본문

반응형

 

[수업 목표]

  1. 파이썬 기초 문법을 안다.
  2. 원하는 페이지를 크롤링 할 수 있다.
  3. pymongo를 통해 mongoDB를 제어할 수 있다.

 

03. 파이썬 시작하기

바탕화면에 sparta 폴더 → pythonprac 폴더 만들기  → pycham 열고  → 파일  → 새프로젝트  → 위치  pythonprac 변경 

→ venv python38 웰컴스크립트 생성 체크 해제 확인하기  → 생성

(venv폴더는 보이지만 안 보이는 것처럼 생각하기)

왼쪽 pythonproject 우클릭  → 새로작성  →  python파일  →이름 hello  → 엔터 

print('hello sparta!!')   → 컨트로 + S (저장)   →  우클릭  실행    → 실행창에 hello sparta!!  라고 나온다 

 

+ python 문법은 JavaScript보다 훨씬 더 직관적이다.

 

04. 파이썬 기초공부 (변수 자료형 함수 조건문 반복문) 

변수    a = 2     b = 3     print(a+b)하고 실행하면 5라고 찍힌다.  (let 이런거 필요 없다)

        a = 'suya'  b ='lee'      print(a+b) 하고 실행하면 suyalee라고 찍힌다. (문자 쓸때 ' 빼먹지 말것!) 

 

리스트 a_list = ['사과','배','감']    print(a_list[1])    배가 찍힌다 (저장하고 실행할 것) 

리스트 추가  Javascript는 . push() 였는데  python에서는 .append()이다.

a_list = ['사과','배','감']

a_list.append('수박')

print(a_list)    → 실행하면 ['사과', '배', '감', '수박'] 라고 출력된다. 

 

딕셔너리  a_dict = {'name' : 'bob', 'age' : 27}    print(a_dict['name]') → bob  

함수 def sum(a,b) :         (def는 definition 의 약자)

        return a + b    (파이썬은 직관적이다. 어파치 줄 맞출건데 왜 중괄호 이런 거 하니? 그냥 줄 맞춰) 

result = sum(1,2)

print(result) 

(1,2를 넣어서 나를 변신 시켜라 (return) 그럼 result 값이 3이되고 print로 3을 출력 시킨다)

 

def sum (a,b) : 

       print('더하자!')

       return a+b

result = sum(1,2)

print(result)  

 

             더하자! 

             3  

 

조건문    def is_adult (age):

               if age > 20: 

                      print('성인입니다')

 

                else:  

                       print('청소년입니다')

is_adult(25) 넣고 실행하면 성입니다.로 뜬다. 

(age가 20보다 크면 성인입니다. 아니면 청소년입니다) 

:가 나오면 그 다음부터는 Tab한번 한 게 내 내용물입니다. 

 

 

반복문  (리스트예제 코드스니펫 붙여넣기) 

fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']

for fruit in fruits: 

     print(fruit)  → 실행     사과

                                        배

                                        배

                                        감

                                        수박

                                        귤

                                        딸기

                                        사과

                                        배

                                        수박 

(어차피 반복문 다 리스트랑 같이 쓰잖아. rows이런 것 .

 파이썬은 애초에 리스트랑 함께 쓰도록 되어 있고 리스트의 요소를 하나씩 꺼내서 내용물에서 쓴다) 

 

반복문  fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']

             count = 0 

             for aaa in fruits:

                  if aaa == '사과':

                   count += 1 

print(count) 

 

(카운트가 0부터 시작한다. 만약 aaa가 사과라면 카운트를 하나 늘려 줘. 

for 문이 다 돌고 나면 프린트 카운트 해 줘)

 

딕셔너리 

people = [{'name': 'bob', 'age': 20},         ( people 는 리스트인데 그 안에 딕셔너리가 들어 있다) 
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27}]

 

for ppp in people: 

     if ppp['age'] > 20:

     print(ppp['name'])     

실행 → carry  

             ben         출력 된다. 

 

만약에 age가 20보다 크면 name를 출력해라. 

 

 

 

3-5 파이썬 패키지 설치하기 

 

크롤링하려면 남들이 만들어 놓은  라이브러리를 사용해야한다.

파이썬에서는 패키지라고 부른다. 

가상환경(virtual environment) →  프로젝트 별로 패키지를 담을 공구함

줄여서 venv → 라이브러리 들이 패키지가 담기는 것이기 때문에  만지면 안됌 

 

파일 → 설정 → 프로젝트 pythonprac의 python 인터프리터 누르기  → + 누르고 requests 적고 → 패키지 설치 누른다. 

(Ajax같은 역할을 한다) 

 

 

3-6 파이선 패키지 사용해보기 

requests 써보기 코드스니펫 복사 붙여넣기 

 

http://spartacodingclub.shop/sparta_api/seoulair ← 미세먼지 API 

 

 

import requests_#requests 라이브러리 설치 필요 

(requests라는 라이브러리를 내가 쓸 거야)

 

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

rejson = r.json()

(쓰라는대로 이렇게 썼어) 

 

rows = rjon['RealtimeCityAir'] ['row'] 

print(rows) → 실행   

 

for row in rows:

     print(row)         (위에 것 돌리기) 

 

구이름과 미세먼지 수치 찍어주기 

for row in rows: 

     gu_name = row['MSRSTE_NM']

     gu_mise = row['IDEX_MVL']

     print(gu_name,gu_mise) 

     → 실행   

 

60보다 작으면 구이름 찍어주기 

for row in rows:

     gu_name = row['MSRSTE_NM']

     gu_mise = row['IDEX_MVL']

     if gu_mise < 60: 

     print(gu_name)

 

3-7 웹스크래핑(크롤링)기초 

네이버 영화페이지 사이트로 이동 

https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829

 

크롤링을 하려면 2가지 해야 함.

1. 요청해서 html 가져오기  (requests에서 했다) 

2. beautifulsoup로 제목을 쉽게 찾을 수 있다. (설치하기) 

 

beautifulsoup 설치하기 

파일  → 설정  → pythonprac  → python 인터프리터  → +누르고 bs4 치고  → 패키지 설치 

 

크롤링 기본 세팅 코드스니펫 복붙    → print(soup)하고 실행 시키면 html이 들어와 있다. 

headers (우리가 코드에서 콜을 날리는데 브라우저에서 콜 날리는 것처러 해주려고 쓴다)

 

beautifulsoup 사용법 

영화이름 우클릭 검사 → 우클릭 copy → copy selector 

title = soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')

print(title)    → 실행    

 

<a fref = "/movie/bi/mi/basic.naver?code=186114" title="밥정">밥정</a>  이 찍힌다. 

title = soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')

print(title.text) → 실행 영화 제목만 나온다. (ex 밥정) 

 

title = soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')

print(title.['href']) → 실행  /movie/bi/mi/basic.naver?code=186114 만 나온다. 

 

 

[코딩] 1주차 1-1강 ~ 1-16강까지 (tistory.com)

 

[코딩] 1주차 1-1강 ~ 1-16강까지

1-1 오늘 배울 것 네이버 뉴스를 다른 글씨로 바꿔보기 마우스 우클릭 검사 -> 다른 글씨로 바꾸고 엔터 -> 글씨가 바뀐다. Q. 왜 바뀌나? [힌트] 이 상태에서 인터넷 끄면 화면은 그대로 있지만 다

nekocharm.tistory.com

[코딩] 2주차 : jQuery.Ajax 배우기 (tistory.com)

 

[코딩] 2주차 : jQuery.Ajax 배우기

Javascript 보다 jQuery는 간단하다. ex) Javascript → document.getElementById("element").style.display = "none";  jQuery  → $('#element').hide(); JQuery 를 사용하는 방법 css에서 class로 이름표를..

nekocharm.tistory.com

▼수업 5만원 할인 받기

 

스파르타코딩클럽

5주 완성! 코딩을 전혀 모르는 비개발자 대상의 웹개발 강의

spartacodingclub.kr

반응형

관련글 더보기

댓글 영역