본문 바로가기
스파르타코딩클럽

[스파르타코딩클럽] 비개발자를 위한, 웹개발 종합반 3주차 1일 후기

by EveryDayJUNES 2023. 1. 3.
728x90
반응형

 

 

1. 지난주 복습 겸 스파르피디아에 openAPI붙여보기

스파르타클럽에서 제공해 주는 API를 이용해서 스파르피디아에 내용을 만들어 보는 시간이었습니다.

movies 안의 내용들을 이용해서 카드에 내용을 채워주었습니다.

관련 소스

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

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

            function listing() {
                $('#cardBox').empty();
                $.ajax({
                    type: "GET",
                    url: "http://spartacodingclub.shop/web/api/movie",
                    data: {},
                    success: function (response) {
                        let rows =  response['movies'];
                        for(let i = 0; i < rows.length; i++){
                            let comment = rows[i]['comment']
                            let desc = rows[i]['desc']
                            let image = rows[i]['image']
                            let star = rows[i]['star']
                            let title = rows[i]['title']
                            let starImg = '⭐'.repeat(star);
                            console.log(comment,desc,image,star,title)

                            let temp_html = ``

                            temp_html=`
                                <div class="col">
                                    <div class="card">
                                        <img src=${image}
                                             class="card-img-top" alt="...">
                                        <div class="card-body">
                                            <h5 class="card-title">${title}</h5>
                                            <p class="card-text">${desc}</p>
                                            <p>${starImg}</p>
                                            <p class="mycomment">${comment}.</p>
                                        </div>
                                    </div>
                                </div>
                            `
                            $('#cardBox').append(temp_html)
                        }

                    }
                })
            }
        }
 

실행 결과

 

2. 파이썬 설치 및 시작

 

설치 과정에 주의사항으로는 설치 화면 초기에 Add Python 3.8 to PATH에 반드시 체크해야 한다고 합니다.

http://git-scm.com

 

Git

 

git-scm.com

python과 다르게 next만 계속 눌러주면 설치가 완료됩니다.

반응형

3.python 기본 구문

a = 'aaaa'
b = 'bbbb'
a_list = ['a', 'b', 'c']
a_list.append('d')
print(a_list)

a_dict = {'name': 'aaa', 'age': 27}
print(a_dict)
 
def sum(a, b):
    return a + b
result = sum(1, 3)
print(result)
 

조건문(if~else 문)

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

반복문(for 문)

list형에서 반복문

fruits = ['사과', '배', '배', '감', '수박', '귤', '딸기', '사과', '배', '수박']
count = 0
for fruit in fruits:
    if fruit == '사과':
        count += 1
print(count)
 

Dictionary형에서 반복문

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

4.웹스크래핑(크롤링) 기초한 패키지 설치

크롤링을 하기 위해 2개의 라이브러리 패키지를 설치해 줍니다.

 

file > Setting에 들어갑니다.

 

 

python intetpreter에 들어가서 +모양의 아이콘을 눌러줍니다.

 

검색창에 requests와 bs4(beautifulsoup4)를 각각 검색해서 화면 왼쪽 하단에 Install Package를 클릭해서 패키지를 설치해 줍니다.

 

5.웹스크래핑(크롤링) 기초

스파르타 클럽에서는 학생들의 편의를 위해서 크롤링 기본 세팅 소스를 제공해 주고 있습니다.

import requests
from bs4 import BeautifulSoup

# 타겟 URL을 읽어서 HTML를 받아오고,
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)

# HTML을 BeautifulSoup이라는 라이브러리를 활용해 검색하기 용이한 상태로 만듦
# soup이라는 변수에 "파싱 용이해진 html"이 담긴 상태가 됨
# 이제 코딩을 통해 필요한 부분을 추출하면 된다.
soup = BeautifulSoup(data.text, 'html.parser')

#############################
# (입맛에 맞게 코딩)
#############################
 

태그 안의 텍스트를 확인하고 싶을 때는 태그. text를 이용하고 태그 안의 속성을 확인하고 싶을 때는 태그['속성']을 이용합니다.

 

관련 소스

title = soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')
print(title['href'])  #태그['속성']

#old_content > table > tbody > tr:nth-child(3) > td.title > div > a
#old_content > table > tbody > tr:nth-child(4) > td.title > div > a

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:
        print(a.text) #태그.text
 

실행 결과

 

 

파이썬의 기초에 대해 알아보았고 이다음 강의부터 크롤링에 대해서 더욱 자세하게 배우는 시간이 될 것이라고 합니다.

반응형

댓글