항상 자바스크립트 내용만 듣다가 파이썬 내용을 듣게 되니 익숙하면서도 낯선 하루였다.
크롤링을 하기위한 라이브러리 설치가 필요하다
requests - url 주소 속 내용 전부 긁어오기
beautifulsoup4 - 보기좋게 정리해주기
선택자를 사용하는 방법 (copy selector)
soup.select('태그명') : < >
soup.select('.클래스명') : class
soup.select('#아이디명') : id
soup.select('상위태그명 > 하위태그명 > 하위태그명')
soup.select('상위태그명.클래스명 > 하위태그명.클래스명')
태그와 속성값으로 찾는 방법
soup.select('태그명[속성="값"]')
한 개만 가져오고 싶은 경우
soup.select_one('위와 동일')
필요한 부분 우클릭 > 검사 > 태그에 우클릭 > 카피 > 카피 셀렉터를 해야 위에 셀렉트를 할수있다.
예시로 네이버 영화 순위와 음악순위 크롤링 해봄
DB에는 크게 SQL과 noSQL이 있으며, 장단점이 있음
SQL : 엑셀에 데이터 저장하듯 저장 된다.
행/열의 생김새 중 추가하기는 어려우나 정형화 되어있는 만큼 데이터 일관성이나 분석에 용이함
(오라클,마이에스큐엘 등등)
noSQL : 딕셔너리 형태로 데이터를 저장 된다.
자유로운 형태이며 데이터 추가가 용이하나 일관성이 부족하다.
(몽고디비 등등)
대기업에서 SQL 쓴다면 스타트업에서 noSQL 사용한다고 생각.
(대기업은 많은 데이터가 잘 정돈됨)
(스타트업은 데이터를 새로 추가하거나 삭제해야하는 일이 많음)
robo3t : 몽고디비 강의를 하면서 서버움직임을 눈으로 확인하기 위함
그래픽인터페이스(GUI)를 제공하지 않아 그것을 보이게 해주는 역할
import requests
from bs4 import BeautifulSoup
: bs4 임포트 내용
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
: pymongo 임포트 내용
insert (삽입)
find(찾기)
update(추가)
delete(삭제)
무료강의때 본 크롤링은 복잡했으나 기본틀을 알려주고 시작하여 무리없이 진행가능했다.
다만 기본틀이 있으니 없을 상황에 맞게 직접 써보며 연습해야겠다.