[웹개발종합반] 3주차 - JQuery, Ajax, API 활용(복습)/ Python 기초/웹...

[웹개발종합반] 3주차 - JQuery, Ajax, API 활용(복습)/ Python 기초/웹...

영화 정보와 코멘트를 API를 통해 가져와서 메모장에 적용하기 영화 랭킹, 제목, 영화설명, 코멘트를 API를 통해 Ajax방식으로 가져오기 이전에 만들었던 나홀로 메모장을 응용해서 만들기

[수업 목표]

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

파이썬 기초 문법

반복문, 리스트, 딕셔너리 안에 리스트 넣기

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: print(person['name'])

버전이 다른 라이브러리를 번갈아 쓸 때? 설치-삭제-설치-삭제... 번거로움 공구함=가상환경(라이브러리를 담아두는 환경) 을 만들어서 여러 버전을 넣어두고 쓴다. venv(Virtual Environment) 폴더에 포함됨. 파이참 환경설정-해당 프로젝트-인터프리터-requests 인스톨

requests 패키지, bs4 패키지 사용해서 크롤링하기 크롤링이 가능한 이유? 1. 브라우저에 데이터를 요청한다. = requests 의 역할 2. 내가 원하는 정보를 잘 속아낸다. = bs4 가 하는 역할

html에서 copy selector 해당 태그의 속성값을 가져오려면 ['속성'] 으로 쓴다.

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.nhn?sel=pnt&date;=20200303', headers=headers) soup = BeautifulSoup(data.text, 'html.parser') title=soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a') print(title) print(title.text) print(title['href'])

영화제목 가져오기 tr의 갯수만큰 영화제목이 있으므로, 그 만큼 반복문을 돌린다. 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 print(title)

연습, 랭크+제목+평점 가져오기

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 print(rank, title, point)

저번주차까지 한 내용을 복습 겸 응용해서 웹 페이지를 뜯어보는 연습을 했다.

이제, 파이썬을 가지고 데이터베이스를 다루고

웹에 있는 정보를 재구성하여, 쓸모있는 웹 페이지를 만드는 작업을 할 차례이다!

플라스크를 써본적이 없고, 데이터베이스를 가지고 웹페이지를 만들어 본적이 없어서 이 부분이 가장 기대가 된다.

아마 파이썬이 가장 쉽고 문법이 직관적인 언어이기 때문에,

이 언어를 활용해서 만들 수 있는 플라스크를 사용해서 강의하는 것 같다.

백엔드는 언어 선택지가 많으니까 시작할 때 쉬운걸로 선택하는 것도 최선의 선택이라고 생각한다!!

기대기대!!

from http://thoughtprovo-king.tistory.com/76 by ccl(A) rewrite - 2021-07-26 17:59:57