본문 바로가기
국비지원 웹개발 종합 (인강)

웹개발 종합반 3주차

by Mecodata 2022. 1. 1.

3주차
자바스크립트에서 함수는 function, 파이썬에서는 def
파이썬 패키지 - 남이 만든 틀을 가져다 쓰는 것(부트스트랩과 비슷) 
requests  코드를 따서 요청
BeautifulSoup 솎아내기
MongoDB : 데이터베이스
Robo 3T : MongoDB의 데이터를 시각화
SQL : 엑셀처럼 틀이 정해져 있어 데이터가 일관적이라 분석에 용이하지만 중간에 수정하는 것은 어려움(My-SQL,오라클)
NO-SQL : 틀이 없이 자유롭게 적재 가능 일관성은 부족하지만 수정은 편리(MongoDB)

Pymongo 
기본기능: insert(추가)/find(찾기)/update(수정)/delete(삭제)
:False 해당값 안보이게
{} : 빈칸 = 전부 가져와라

# 저장 - 예시
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'})

파이썬 문자열 공백 제거
1. 앞뒤 공백 제거 *.strip()
2. 모든 공백 제거 *.replace()

 

text[0:2] - 해당 text에서 0번째부터 2번째 글자만 불러오기 text가

ex) hello인 경우 : text[0:2] -> he

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://www.genie.co.kr/chart/top200?ditc=D&ymd=20200403&hh=23&rtm=N&pg=1',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

trs = soup.select('#body-content > div.newest-list > div > table > tbody > tr')

for tr in trs:
        title = tr.select_one('td.info > a.title.ellipsis').text.strip()
        rank = tr.select_one('td.number').text[0:2].strip()
        artist = tr.select_one('td.info > a.artist.ellipsis').text

print(rank,title,artist)

1~50위 중에서 50위만 출력됨 (for문 밖)

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://www.genie.co.kr/chart/top200?ditc=D&ymd=20200403&hh=23&rtm=N&pg=1',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

trs = soup.select('#body-content > div.newest-list > div > table > tbody > tr')

for tr in trs:
    title = tr.select_one('td.info > a.title.ellipsis').text.strip()
    rank = tr.select_one('td.number').text[0:2].strip()
    artist = tr.select_one('td.info > a.artist.ellipsis').text
    print(rank, title, artist)

1~50위 모두 출력됨(for문 안)

 

파이썬에서는 공백으로 포함을 구분하니 줄맞춤에 유의할 것!

 

dbquiz.py
0.00MB
genie.py
0.00MB
hello.py
0.00MB
dbprac.py
0.00MB

'국비지원 웹개발 종합 (인강)' 카테고리의 다른 글

웹개발 종합반 4주차  (0) 2022.01.05
웹개발 종합반 2주차  (0) 2021.12.28
웹개발 종합반 1주차  (0) 2021.12.25

댓글