def sum(a,b) :
return a+b
print('더하자')
result = sum(1,2)
print(result)
//
3
def sum(a,b) :
print('더하자')
return a+b
result = sum(1,2)
print(result)
//
더하자
3
def sum(a,b):
return a+b
sum(1,2)
// 안나옴
--> sum이라는 함수 안에 print가 있다면 나왔을것..
return을 사용하는 경우에는 그 함수를 통해 또 다른 걸 쓰는 경우
def sum(a,b):
return a+b
sum(1,2)
def is_adult(age):
if age > 20:
print('성인입니다')
else:
print('청소년입니다')
is_adult(sum(12,10))
//
성인입니다
def is_adult(age):
if age > 20:
print('성인입니다')
else:
print('청소년입니다')
print(is_adult(20))
//
청소년입니다
None
--> print(안에 is_adult(20)값이 결국 성인입니다 라는 텍스트값일것이므로
def is_adult(age):
if age > 20:
print('성인입니다')
else:
print('청소년입니다')
is_adult(20)
//
청소년입니다
fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
for A in fruits: //fruits를 순서대로 추출한걸 A라고 지칭할게
print(A)
//
사과
배
배
감....
순서대로 다 배치됨
fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
count = 0
for aaa in fruits:
if aaa == '사과' :
count +=1 //count=0이므로 사과의 개수만큼 +1씩 해서 갯수 셀수있다.
print(count)
//
2
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 :
if person['age'] < 30:
print(person['name'])
//
bob
john
smith
ben
import requests # requests 라이브러리 설치 필요
r = requests.get('api주소')
rjson = r.json()
import requests # requests 라이브러리 설치 필요
r = requests.get('api주소')
rjson = r.json()
rows = rjson['RealtimeCityAir']['row']
for row in rows :
gu_name=row['MSRSTE_NM']
gu_mise=row['IDEX_MVL']
if gu_mise < 20:
print(gu_name)
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')
# 코딩 시작
# 이것을 통해 해당 링크의 html소스를 뽑아올 수 있습니다!
💡 태그 안의 텍스트를 찍고 싶을 땐 → 태그.text
태그 안의 속성을 찍고 싶을 땐 → 태그['속성']
# 선택자를 사용하는 방법 (copy selector)
soup.select('태그명')
soup.select('.클래스명')
soup.select('#아이디명') //copy selector사용 시 사용가능
soup.select('상위태그명 > 하위태그명 > 하위태그명')
soup.select('상위태그명.클래스명 > 하위태그명.클래스명')
# 태그와 속성값으로 찾는 방법
soup.select('태그명[속성="값"]')
# 한 개만 가져오고 싶은 경우
soup.select_one('위와 동일')
copy selector을 이용해도 되지만 항상 정확하지는 않다고 함
copy selector을 이용할 때에는 경로를 넣어보고 print하면서
어디있는지 찾으면 편하당..^..^
rows = soup.select('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')
print(rows['href'])
//
[<a href="/movie/bi/mi/basic.naver?code=186114" title="밥정">밥정</a>]
위의 경로였으나, href값을 추출하게 되면 위의 href 값만 추출해준다.
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')
#old_content > table > tbody > tr:nth-child(13) > td.title > div > a
movies = soup.select('#old_content > table > tbody > tr')
for movie in movies:
list = movie.select_one('td.title > div > a')
if list is not None:
print(list.text)
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')
#old_content > table > tbody > tr:nth-child(2) > td.title > div > a
list = soup.select('#old_content > table > tbody > tr')
for movie in list:
movielist = movie.select_one('td.title > div > a')
if movielist is not None:
title = movielist.text
rank = movie.select_one('td:nth-child(1) > img')['alt']
star = movie.select_one('td.point').text
print(rank,title,star)
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')
#old_content > table > tbody > tr:nth-child(13) > td.title > div > a
movies = soup.select('#old_content > table > tbody > tr')
for movie in movies:
list = movie.select_one('td.title > div > a')
print(list.text)
왜 이때는안되는가 -> None값에 text가 없어서 안된다고 오류뜸
AttributeError: 'NoneType' object has no attribute 'text'
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')
title = soup.select('#old_content > table > tbody > tr:nth-child(2) > td.title > div > a')
print(title[href])
from pymongo import MongoClient
client = MongoClient('여기에 URL 입력')
db = client.dbsparta
# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})
# 여러개 찾기 - 예시
all_users = list(db.users.find({},{'_id':False}))-> id값제외
all_users = list(db.users.find({})) 는 조건0
# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
# 지우기 - 예시
db.users.delete_one({'name':'bobby'})
from pymongo import MongoClient
client = MongoClient('url')
db = client.dbsparta
all_users = list(db.users.find({}))
for user in all_users:
print(user)

위와같이 두번 들어갔을 경우 delete를 통해 1번 실행시켜주면 먼저 넣었던 데이터값이 사라진다.
list = soup.select('#old_content > table > tbody > tr')
for movie in list:
movielist = movie.select_one('td.title > div > a')
if movielist is not None:
title = movielist.text
rank = movie.select_one('td:nth-child(1) > img')['alt']
star = movie.select_one('td.point').text
doc = { 'title': title, 'rank': rank, 'star':star}
db.movie.insert_one(doc)
//
이렇게 하면 아래만 들어감
_id
:
62be54bf65cfd779bd30dabd
title
:
"클레멘타인"
rank
:
"50"
star
:
"9.37"
movie = db.movies.find_one({'title':'가버나움'})
star = movie['star']
all_movies = list(db.movies.find({'star':star},{'_id':False}))
for m in all_movies:
print(m['가버나움'])
//
그린북
가버나움