티스토리 뷰
파이썬 설치
- 맥: https://www.python.org/ftp/python/3.8.2/python-3.8.2-macosx10.9.pkg
- 윈도우: https://www.python.org/ftp/python/3.8.6/python-3.8.6-amd64.exe
자바스크립트 repeat()
문자를 원하는 개수만큼 반복해준다.
⇒ ‘o’.repeat(4) → oooo
파이썬
- 리스트 추가: .push()가 아니라 .append()
- 들여쓰기가 굉장히 중요(중괄호 대체)
- 함수의 형태
- def sum(a, b): return a + b
- 조건문
- def is_adult(age): if age > 20: print('성인입니다') else: print('청소년입니다')
- 반복문
- for fruit in fruits: print(fruit)
- text[0:2]: 앞에서 두 글자만 끊기
- strip([chars]) : 인자로 전달된 문자를 String의 왼쪽과 오른쪽에서 제거합니다.
- lstrip([chars]) : 인자로 전달된 문자를 String의 왼쪽에서 제거합니다.
- rstrip([chars]) : 인자로 전달된 문자를 String의 오른쪽에서 제거합니다.
- decompose() : 자식 태그를 삭제할 때 사용
- extract() : 자식 태그를 추출할 때 사용
파이썬의 환경
- 패키지 = 라이브러리
- 가상환경(venv) = 라이브러리를 모아두는 곳. 여러 패키지들이 담겨 있기 때문에 여러 환경에서도 대응할 수 있다
- requests 패키지: 자바스크립트의 ajax 같은 것
- 패키지는 상단에 import requests 와 같은 식으로 작성하여 임포트한다
Beautiful Soup
- html 문서를 분석할 수 있는 라이브러리
- 기본 세팅
- headers: 브라우저가 요청하는 것처럼 해주는 친구
- url에서 가져오는 게 아니라면 requests를 임포트할 필요는 없다
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')
- select_one: 한 개만 가져올 때 사용한다. 문서의 처음부터 html 태그를 찾게되며, 여러 개의 동일한 태그가 있을 경우 가장 첫 태그를 호출한다.
- 아래는 필요한 선택자를 지정하여 가져오는 코드이다(html 요소에서, copy selector를 선택하면, 해당 요소가 계층으로 표현된다)
- title = soup.select_one('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a');
- title.text: a태그의 값을 가져온다
- title[’href’]: a태그의 속성인 href 속성을 가져온다
- select: 여러 개의 태그를 리스트 형태로가져온다
- 값이 없는 경우에는 당연하겠지만 .text가 먹히지 않는다. 그래서 is not None 검사를 하는 것(is not 은 !=로도 쓸 수 있다)
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')
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:
title = a.text
star = movie.select_one('td.point').text
rank = movie.select_one('td:nth-child(1) > img')['alt']
print(rank, title, star)
MongoDB
- 콜렉션이 있고, 그 콜렉션에 딕셔너리 형태로 저장한다
- 저장 - 예시
- doc = {'name':'bobby','age':21} db.users.insert_one(doc)
- 한 개 찾기 - 예시
- user = db.users.find_one({'name':'bobby'})
- 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
- all_users = list(db.users.find({},{'_id':False}))
- 바꾸기 - 예시
- db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
- 지우기 - 예시
- db.users.delete_one({'name':'bobby'})
'개발' 카테고리의 다른 글
| [노마드코더: 파이썬 챌린지] 문법 강의 (0) | 2022.04.12 |
|---|---|
| [항해99] 5주차 강의 (0) | 2022.04.11 |
| [항해99] 4주차 강의 (0) | 2022.04.08 |
| [항해99] 2주차 강의 (0) | 2022.04.07 |
| [항해99] 1주차 강의 (0) | 2022.04.05 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 임포트
- clean-up policy
- 몽고db
- ManyToOne
- IOC
- jinja2
- 서버환경
- DI
- OneToMany
- Java
- 제어자
- toCharArray
- 자바의정석
- AfterEach
- 단항연산자
- 스프링부트
- ResetController
- 상속
- 항해99
- bean
- controller
- 패키지
- GIT
- ManyToMany
- MVC
- ORM
- AssertJ
- 고민
- overfatching
- 배열
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
글 보관함
