💡수업 목표💡
- 파이썬 기초 문법을 안다.
- 원하는 페이지를 크롤링 할 수 있다.
- pymongo를 통해 mongoDB를 제어할 수 있다.
2022.08.26 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주차 - 1강 파이썬 설치 및 Pycharm 설정
2022.08.26 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주차 - 2강
파이썬 시작하기
파이썬 기본 파일확장자는 .py이다.
.py파일을 생성하고 정상적으로 파이썬이 돌아가는 printf()를 통해서 테스트해보자
초록색 RUN 화살표를 누르고 아래 콘솔에 정상적으로 출력되면 파이썬 개발을 위한 환경이 무사히 적용되었음을 확인 할수 있다.
파이썬 기초문법
변수 & 기본연산
a = 2
b = 3
print(a+b)
리스트
a_list= ['사과', '배','감']
a_list.append('수박')
print(a_list)
딕셔너리
a_dict={
'name' : 'bob',
'age' : 27
}
print(a_dict['name'])
함수
def sum(a,b):
print("더하자!")
return a+b
result = sum(1,2)
print(result)
조건문
def is_adult(age):
if age > 20:
print('성인입니다.')
else:
print("청소년입니다.")
is_adult(25)
is_adult(15)
반복문
# 리스트 반복문
fruits = ['사과','배','감','귤']
for fruit in fruits:
print(fruit)
# 딕셔너리 반복문
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'] > 20:
print(person['name'])
패키지 사용해보기 - Requests 라이브러리
패키지? 라이브러리?
→ Python 에서 패키지는 모듈(일종의 기능들 묶음)을 모아 놓은 단위. 이런 패키지 의 묶음을 라이브러리 라고 볼 수 있습니다. 지금 여기서는 외부 라이브러리를 사용하기 위해서 패키지를 설치합니다.
→ 즉, 여기서는 패키지 설치 = 외부 라이브러리 설치!
가상 환경(virtual environment) 이란?
→ 프로젝트별로 패키지들을 담을 공구함.
→ 같은 시스템에서 실행되는 다른 파이썬 응용 프로그램들의 동작에 영향을 주지 않기 위해, 파이썬 배포 패키지들을 설치하거나 업그레이드하는 것을 가능하게 하는 격리된 실행 환경.
Preferences > Project : pythonPrac > Python Interpereter를 보면 해당 프로젝트에서 현재 사용중인 패키지 리스트들을 확인할수 있다.
이번에 사용해볼 reqests 패키지를 설치한다.
requests 패키지 기본 사용법
import requests # requests 라이브러리 설치 필요
r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')
rjson = r.json()
example - 미세먼지 openAPI 사용해보기
import requests # requests 라이브러리 설치 필요
r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')
rjson = r.json()
rows = rjson['RealtimeCityAir']['row']
for row in rows:
gu_name = row['MSRSTE_NM']
gu_mise = row['IDEX_MVL']
if gu_mise < 60:
print(gu_name)
웹 스크래핑(크롤링) 기초 - beautifulsoup4 라이브러리
bs4(beautifulsoup4) 패키지 설치
파이썬에서는 beautifulsoup4 라이브러리를 통해서 웹 스크랩핑이 가능하다.
크롤링 기본 셋팅
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('https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
print(soup)
example - 네이버영화 랭킹 타이틀 평점 크롤링하기
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('https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
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 :
title = a.text
rank = movie.select_one("td:nth-child(1) > img")["alt"]
star = movie.select_one("td.point").text
print(rank, title, star)
'스파르타코딩클럽 > 웹개발' 카테고리의 다른 글
웹개발종합반 개발일지 | 3주차 - 12,13,14강 Python으로 mongoDB 조작하기 (0) | 2022.08.27 |
---|---|
웹개발종합반 개발일지 | 3주차 - 9,10,11강 mongoDB Atlas로 시작하기 (1) | 2022.08.27 |
웹개발종합반 개발일지 | 3주차 - 2강 (0) | 2022.08.26 |
웹개발종합반 개발일지 | 3주차 - 1강 파이썬 설치 및 Pycharm 설정 (0) | 2022.08.26 |
웹개발종합반 개발일지 | 2주차 (0) | 2022.08.17 |