다른 언어들에 비해 직관적인 언어를 사용하는 것이 파이썬이다.
: 표시가 있고 enter를 치면 그 밑에 줄들은 위 함수들의 내용들이 된다
tap이 된 단락은 그 함수안에 포함된 내용으로 받아들인다.
import requests # requests 라이브러리 설치 필요
r = requests.get('http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99')
rjson = r.json()
gus = rjson['RealtimeCityAir']['row']
for gu in gus:
gu_name = gu['MSRSTE_NM']
gu_mise = gu['IDEX_MVL']
if gu_mise > 50:
print(gu_name,gu_mise)
파이썬은 다른 개발자들이 미리 만들어둔 라이브러리가 많아서 파일 세팅에서 검색을 통해 불러와 사용할 수 있다.
<3-9>
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')
trs = soup.select('#old_content > table > tbody > tr')
#old_content > table > tbody > tr:nth-child(2) >
#old_content > table > tbody > tr:nth-child(2) >
#old_content > table > tbody > tr:nth-child(2) > td.point
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
star = tr.select_one('td.point').text
print(rank,title,star)
print()로 나오는 값을 확인하고!
내가 찾아야 하는 부분들의 .text나 ['alt']나 등등 을 다시 프린트해서 결과값을 알아낸다!
<3-12>
(robo 3t에서 파이썬 언어 실체화 연습)
insert
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
insert는 파일>폴더>insert 형태로 사용한다!
find
same_ages = list(db.users.find({},{'_id':False}))
for person in same_ages:
print(person)
find는 보통 find{} (목록 전부를 불러올 때) 를 자주 사용하고, {' id':False}를 써야 깔끔하게 찾는 값만 나온다.
find{}안에
ist(db.users.find({'age':21},{' id':False}))
이런식으로 사용하면 해당 조건에 맞는 값들만 나타난다.
update
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
update_many도 있는데 이건 조건{name:bobby}인 모든 값의 age를 19로 바꾸는 것!(있다는것만 알아두기 잘 안씀 위험)
delete
db.users.delete_one({'name':'bobby'})
delete_many도 있지만 많이 안씀 위험)
#저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
#한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})
#여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
same_ages = list(db.users.find({'age':21},{'_id':False}))
#바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
#지우기 - 예시
db.users.delete_one({'name':'bobby'})
movie = db.movies.find_one({'title': '매트릭스'},{'_id':False})['star']
print(movie)
.strip()
공백제거
.text
여기서도 몇번째부터 몇번째까지 보이게 할때 [0:5] 이런식으로 0~5 처럼 표현하기