상세 컨텐츠

본문 제목

[스파르타코딩클럽] 웹개발종합반 (국비) 3주차 기록 :: 파이썬 기초 / 웹크롤링세팅 / 몽고 디비 연결

성장일지

by 모모87 2023. 3. 18. 01:48

본문

3주차 교육은 파이썬이었다.

파이썬은 처음 듣는 교육이라 조금 긴장했는데

자바스크립트 기초와 비슷하다 생각하면서 

패턴을 암기했다. 선생님께서 알아듣기 쉽게 알려주셔서 더 이해하기 쉬었다.

새로운 걸 공부하니 기분이 좋았다.

육아휴직 끝나면 파이썬 개발팀이랑 기본적인 건 소통할 수 있겠지?

즐거운 마음으로 공부하고 있다.

 


 

<배운내용 정리>

 

파이썬 기본 문법

# 함수선언

def sum(a,b,c):
    return a+b+c

result = sum(1,2,3)

print(result)

들였쓰는게 중요!! 함수형태에서 포함 하는 개념

 

파이썬 반복문 / 조건문

# 반목문

age = 25

if age > 20:
    print('성인입니다')
else:
    print('청소년입니다')

 

파이썬 패키징 설치

venv를 감싸고 시작!

pytho3 -m venv venv

웹접속 라이브러리 설치

pip install requests

 

패키지 사용하기 예제

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

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

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

for a in rows:
    gu_name = a['MSRSTE_NM']
    gu_mise = a['IDEX_MVL']
    print(gu_name,gu_mise)

크롤링 기본세팅

웹접속 후 원하는 내용 속아내는 라이브러리 설치

 pip install 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('https://movie.naver.com/movie/sdb/rank/rmovie.naver?sel=pnt&date=20210829',headers=headers)

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

퀴즈1

네이버 영화 순서/제목/별점 순으로 크롤링!

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')

# 코딩 시작
trs = soup.select('#old_content > table > tbody > tr')

for tr in trs:
    a = tr.select_one('td.title > div > a').text
    rank = tr.select_one('td > img')['alt']
    star = tr.select_one('td.point').text
    if a is not None:
        print(rank,a,star)

퀴즈2

지니뮤직 1-50위 곡을 스크래핑 하기 (순위/곡제목/가수)

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://www.genie.co.kr/chart/top200?ditc=M&rtm=N&ymd=20210701#',headers=headers)

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

# 지니뮤직 1-50위 곡을 스크래핑 하기 (순위/곡제목/가수)
gnmusic_trs = soup.select('#body-content > div.newest-list > div > table > tbody > tr')
for tr in gnmusic_trs:
    rank = tr.select_one('td.number').text[0:2].strip()
    title = tr.select_one('td.info > a.title.ellipsis').text.strip()
    singer = tr.select_one('td.info > a.artist.ellipsis').text.strip()
    if rank is not None:
        print(rank,title,singer)

 

오늘의 총평 : 최고예요~

궁금한거 거진 다풀린 강의입니다.

현업 종사자로 실무에 가까운 패턴을 정확하게 집어주시는데 그것도 쉽게 말이죠!

간단한 것 같은데 딱 필요한 부분만 알게 되었어요. 실무에서 자바스크립트 사용하고 있어서 파이썬 언어 개념도 쉽게 이해가 갔습니다.^^

반응형

관련글 더보기