웹개발 종합반 3주차 - 파이썬 기초(1)
4강 - 파이썬 시작하기
파이참에서 새 프로젝트를 만든다.
Location으로 폴더 위치 확인하고, venv폴더까지 생성되는지 확인
main.py생성 체크 해제
이 때 생기는 venv폴더는 건드리지 않는다.
오마클릭 - Python File클릭하면 파이썬 파일 만들 수 있음
오마클릭 - Run'파일이름'으로 실행하는 버릇 들이기
5강 - 파이썬 기초공부
모든 문법을 외울 수는 없기때문에 구글링하는 습관을 들이는것이 중요하다.
원하는 값을 변수에 넣고 print하면 해당 값을 볼 수있다.
JS의 console.log같은건가 싶당
에러발생시 에러메세지의 마지막줄을 잘 살펴보자!
해당 오류는 선언되지않은 변수를 사용하여 생긴 오류이다.
숫자와 문자를 더하는것도 오류를 일으키는 원인 중 하나
원인을 찾기 힘들때에는 해당 마지막줄을 복사해서 구글링을 해보면 대부분 해결가능
해당오류는
num = str(2)
를 이용하여 문자열 2로 만들어주면 해결이 가능하다
JS와 유사
함수문법은 다르니 눈에 익히기
또한 파이썬의 함수는 괄호가 없기때문에 들여쓰기공간 확인 필수! 들여쓰기 된 곳까지가 하나의 함수이다
IF구문
for~ in 반복문
!!중괄호, 대괄호등 언제 어디서 사용되는지 따로 외울 필요가 없다. 라이브러리등 만드는 사람에 따라 달라지기 때문ㅎㅎ
6강 - 파이썬 패키지 설치하기
7강 - 패키지 사용해보기
requests패키지를 이용하여 미세먼지API를 가져오고
반복문과 if문을 이용하여 미세먼지 농도 40이 넘는곳만 출력하기
8강 - 웹스크래핑(크롤링) 기초
requests는 페이지를 받아오는데 필요한 패키지
bs4는 받아온 페이지 정보를 솎아내기 위한 패키지
네이버 영화페이지에 있는 html태그 선택자 가져오기
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.xetx)
타이틀에 선택자 불러오고
print(title) 하면 해당 선택자의 html코드를, print(title.text)하면 선택자안에 있는 텍스트를 가져올 수 있다.
a태그의 속성을 가져오려면 print(title['href'])
soup.select_one은 하나의 개체만 가져올 수 있기때문에, 여러개의 영화목록을 가져오기위해서는 soup.select를 사용해야 한다
copy selector를 이용하여 선택자를 확인,
다른 부분을 지우고 겹치는 부분으로 선택자이용
여러개의 tr을 불러오고 for문을 이용하여 돌림
for문안에서 tr.select_one을 이용해, 하나의 tr안에있는 하나의 a태그를 찾아온다
다만 tr태그중 text요소를 포함하지 않은 개체가 있을 수 있음
이럴경우 오류가 발생하므로,
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)
if문을 이용하여 None이 아닐경우에만 표시하게끔 코드를 짜준다
9강 - Quiz_웹스크래핑(크롤링) 연습
for tr in trs:
a_tag = tr.select_one(' td.title > div > a')
if a_tag is not None:
rank = tr.select_one('td:nth-child(1) > img')['alt']
title = a_tag.text
point= tr.select_one(' td.point').text
print(rank,title,point)
반복된 tr안에서 랭크와 별점 찾아서 변수에 저장
print(rank,title,point)로 함께 출력
사람마다 데이터를 가져오는 과정에 따라 코드가 다를 수 있다. 다만 짧고 효율적인 코드를 가져오는것이 중요하다!
Author And Source
이 문제에 관하여(웹개발 종합반 3주차 - 파이썬 기초(1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@specter38/스파르타-웹개발-종합반-3주차-파이썬-기초저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)