git 설치 방법
Mac은 git이 기본적으로 내장되어 있어 설치를 할 요가 없다.
에 들어가 자료를 다운로드하고 설치를 해주면 된다.
vs code 에서 git bash를 세팅해 주는 방법은,
Ctrl + Shift + P를 눌러 터미널 창을 띄워준 후, Terminal: Select Default Shell을 입력하고 Git Bash를 선택해 주면 된다.
그러면 VS Code에서 새 터미널을 열 때(ctrl+`), Git Bash가 기본으로 선택된다.
다음으로, python을 활용해줄 가상 환경을 세팅해 주기 위하여
Ctrl + Shift + P를 눌러 env를 검색 후 venv를 실행해 주면 된다.
venv 설치가 중요한 이유는 공구 상자를 열어둬야 도구를 담을 수 있기 때문이다.
왜 venv를 사용하는가?
누군가가 잘 만든 도구를 활용할 줄 아는 것은 개발자의 좋은 소양이기 때문이다.
먼저 python3 .venv 가상환경에 request를 설치하는 법에 대하여 배우게 되었는데,
# 가상환경 생성
python -m venv .venv
# 가상환경 활성화
.venv/Scripts/activate
# requests 패키지 설치
pip install requests
다음과 같은 순서로 설치하면 되었다.
파이썬 파일을 실행할때, 출력창에 한글이 깨지게 된다면 이 항목을 확인해 주면 된다.
한글이 깨져서 출력된다면, beta에 체크표시가 안됐는지 확인해 보면 좋을 거 같다.
request를 사용하여 api로부터 데이터를 가져오거나, 웹 스크래핑을 할 수도 있다.
웹 스크래핑을 위해선 먼저 bs4, beatuifulsoap4를 설치해야한다.
pip install requests bs4
를 콘솔에 입력해 준 후,
import requests
from bs4 import BeautifulSoup
URL = "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=날씨"
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(URL, headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
다음과 같은 코드를 작성하여 웹페이지의 정보를 전부 가져오는 코드를 작성할 수 있다.
다만 여기서 print(soup)와 같은 값들을 보기 위해선, python 파일을 터미널에서 실행해야 직접 볼 수 있다.
이 데이터들을 원하는 데이터들만 고르기 위해선 select, select_one 함수를 사용해야 하며, 양식은 다음과 같다.
# 선택자를 사용하는 방법 (copy selector)
soup.select('태그명')
soup.select('.클래스명')
soup.select('#아이디명')
soup.select('상위태그명 > 하위태그명 > 하위태그명')
soup.select('상위태그명.클래스명 > 하위태그명.클래스명')
# 태그와 속성값으로 찾는 방법
soup.select('태그명[속성="값"]')
# 한 개만 가져오고 싶은 경우
soup.select_one('위와 동일')
또한 태그 내부의 값을 불러오기 위해선 >을 사용해 주면 되며,. contents를 통하여 html 태그 안의 값들을 리스트에 담을 수 있다.
temp = soup.select_one('.temperature_text > strong').contents[1]
cloud = soup.select_one('.weather').text
humid = soup.select_one('.summary_list > div:nth-child(2) > dd').text
wind = soup.select_one('.summary_list > div:nth-child(3) > dd').text
print(temp, cloud, humid, wind)
'항해99 > 웹 개발 종합반 강의' 카테고리의 다른 글
[스파르타코딩클럽] 웹개발 종합반 - 4주차 (4-1~8) (1) | 2023.12.28 |
---|---|
[스파르타코딩클럽] 웹개발 종합반 - 3주차 (3-9~15) (0) | 2023.12.28 |
[스파르타코딩클럽] 웹개발 종합반 - 2주차 (2-8~HW) (1) | 2023.12.22 |
[스파르타코딩클럽] 웹개발 종합반 - 2주차 (2-1~2-7) (0) | 2023.12.21 |
[스파르타코딩클럽] 웹개발 종합반 - 1주차 (1-14~hw1) (1) | 2023.12.19 |