3주차의 시작!!!

1주 차와 2주 차가 차이가 나지 않는 이유는 11일 챌린지에 참여하기 때문이다. 하루도 빠짐없이 열심히 들을 예정!!!

9/11

파이썬 패키지를 설치하는 법을 배웠다. settings ‣‣‣ project:pythonprac ‣‣‣ python interpreter 요기서 하면 된다.
request 와 bs4 를 설치해서 크롤링을 했다.

beautifulsoup 사용법

import requests
from bs4 import BeautifulSoup
위에 두 줄을 꼭 써야지 패키지 사용이 가능하다!!!

# 선택자를 사용하는 방법 (copy selector)
soup.select('태그명')
soup.select('.클래스명')
soup.select('#아이디명')
soup.select('상위태그명 > 하위태그명 > 하위태그명')
soup.select('상위태그명.클래스명 > 하위태그명.클래스명')
# 태그와 속성값으로 찾는 방법
soup.select('태그명[속성="값"]')
# 한 개만 가져오고 싶은 경우
soup.select_one('위와 동일')

웹 크롤링을 이렇게 연습해 보고 db 저장하는 법을 익히기 시작했다.
먼저 주소에 localhost:27017 쳤을 때 요렇게 나오면 성공이다.

It looks like you are trying to access MongoDB over HTTP on the native driver port.

mongoDB라는 프로그램은 GUI(그래픽인터페이스)를 제공하지 않아 보이지 않는다고 한다. 눈으로 보기 위해서 robo3T 라는 프로그램을 설치했다.
세팅은 이름 아무렇게 적고 address에 localhost 27017을 적었주었다.

DB의 종류

RDBMS(SQL)

  • 행/열의 생김새가 정해진 엑셀에 데이터를 저장하는 것과 유사
  • 중간에 열을 하나 더하기가 어렵다
  • 정형화되어 있는 만큼, 데이터의 일관성/분석에 용이
  • ex) MS-SQL, My-SQL 등

No-SQL

  • 딕셔너리 형태로 데이터를 저장하는 DB
  • 데이터 하나 하나 마다 같은 값들을 가질 필요가 없다
  • 자유로운 형태의 데이터 적재에 유리
  • 일관성이 부족
  • MongoDB

mongoDB를 조작하기위해 패키지 pymongo를 설치했다.

from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.db적고싶은이름
# 코딩 시작

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

db 저장하는 법과 robo3T로 저장된 db들을 확인하는 작업을 했다.
사이트 검사를 누르고 copy selector를 해서 붙여넣기 해가지고 원하는 정보만 찾으면 된다!!

마치며 🎈

웹스크래핑이 이렇게 재밌다니,,강의를 보고 따라 하다 보면 몇 시간이 후딱 지나간다. 벌써 3주 차 강의를 끝낸 게 믿어지지는 않지만 코딩에 ㅋ은 조금이라도 알 것 같다. 사이트 정보를 어떻게 다 가져오는 거지,,,, 원리부터 알고 싶지만 아직은 한번 훑고 복습하면서 알아봐야겠다.

profile
Wugawuga

0개의 댓글