-
22020313스파르타코딩 개발일지 EP.32022년 스파르타코딩 2022. 3. 13. 17:32반응형
3주차목표 키워드: Python, 크롤링, mongoDB
1. 파이썬은 기본 문법들을 배웠다.
- 파이썬 언어는 의외로 간단했다.
2. 크롤링 : 쉽게말해 데이터 긁어오기(나만의 표현)
크롤링한 데이터를 mongoDB에 저장시키는 것을 해보았다.
그 저장된 것을 view해주는 것이 로보라는 프로그램이였다.
(mongoDB라는 프로그램 그래픽인터페이스(=GUI)를 제공하지 않는다)
2-1 SQL의 구분!!!
- RDBMS(SQL) 행/열의 생김새가 정해진 엑셀에 데이터를 저장하는 것과 유사합니다. 데이터 50만 개가 적재된 상태에서, 갑자기 중간에 열을 하나 더하기는 어려울 것입니다. 그러나, 정형화되어 있는 만큼, 데이터의 일관성이나 / 분석에 용이할 수 있습니다. ex) MS-SQL, My-SQL 등 (쉽게말해서 엑셀)
- No-SQL 딕셔너리 형태로 데이터를 저장해두는 DB입니다. 고로 데이터 하나 하나 마다 같은 값들을 가질 필요가 없게 됩니다. 자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족할 수 있습니다. ex) MongoDB (쉽게말해서 걍 공중에 떠돌아 다니는 데이터 뭉치들)
2-2 웹스크래핑 결과 저장하기
기본 셋팅을 해 두면 손쉽게 코딩할 수 있다. 이후 아래를 기입하면 결과를 저장할 수 있다.
4. 숙제 : 순위 / 곡 제목 / 가수를 스크래핑
import requests
from bs4 import BeautifulSoup
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbspartaheaders = {'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('페이지 주소',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1)
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.number 순위
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.title.ellipsis 제목
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.artist.ellipsis 가수
trs = soup.select('#body-content > div.newest-list > div > table > tbody > tr')
#리스트로 만들어주기위해 for i in trs: 식으로 만들어준다.
#텍스트로 되어있기에 .text로 뽑아낸후 [0:2]만큼 (리스틀가 [1,2,3] 이라면 1,2만 뽑음) 자른 후
#strip() 괄호에 아무것도 없으니 공백 전체 제거! 왼쪽과 오른쪽에서 제거!함
for tr in trs:
a_rank = tr.select_one('td.number').text[0:2].strip()
a_title = tr.select_one('td.info > a.title.ellipsis ').text.strip()
a_singer = tr.select_one('td.info > a.artist.ellipsis').text
print(a_rank, a_title, a_singer)느낀점 :
이번 주차는 따라가기 바빴다. 빠르게 진도를 뺀 후 복습하는 편이 좋다 라는
스온스 매니저님의 팁이 있었으니 믿고 가즈아~
$(document).ready(function(){
listing();
}); 로딩후 바로 실행 하는 코드 정도는 기억해두어야겠당.....친구초대링크: 혜택 받아가세요
https://spartacodingclub.kr/?f_name=%EA%B9%80%EC%98%81%EC%9D%B8&f_uid=61e82f002664a651fff7fc8d
스파르타코딩클럽
왕초보 5주 완성! 웹/앱/게임 빠르게 배우고 내것을 만드세요!
spartacodingclub.kr
반응형'2022년 스파르타코딩' 카테고리의 다른 글
데이터 분석 EP.01 (0) 2022.06.04 22020318스파르타코딩 개발일지 EP.5 FINAL (0) 2022.03.18 22020315 스파르타코딩 개발일지 EP.4 (1) 2022.03.15 22020311 스파르타코딩 개발일지 EP.2 (0) 2022.03.11 22020309 스파르타코딩 개발일지 EP.1 (0) 2022.03.09