WIL 3-2 - 스파르타 코딩 웹개발 종합반 3주차 (22.10.14)

Pablaw·2022년 10월 14일
0

WIL

목록 보기
4/12

웹스크랩핑(크롤링) 기초


BeautifulSoup 설치하기 (bs4 패키지 설치)
-> Pycham 환경설정, 인터프리터, 해당 패키지 검색 후 추가


  • bs4 사용을 위한 기본 구조 세팅하기
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('해당URL',headers=headers)

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

print(soup)

*data = requests.get('URL')의 URL 부분을 변경해서 사용한다.


  • 크롤링을 위한 세팅
  1. requests를 환경설정 패키지에 추가해서 설치한다.

  2. bs4를 패키지에 추가해서 BeautifulSoup을 import한다.

  3. 기본 세팅이 되는 텍스트 구조를 참고해서 해당 url로 적용하여 사용한다.

  4. soup 명령어를 통해서 데이터를 가져온다.


  • bs4관련 명령어
# 전체 목록을 가져오기.
movies = soup.select('#old_content > table > tbody > tr')

# 가져온 목록을 하나하나 출력하기.
for movie in movies:
    a = movie.select_one('td.title > div > a')
    if a is not None:
        print(a.text)
        
# 선택한 목록 제거하기
temp = title.span.extract()

# 태그 내 공백 제거하기
title.strip()
*strip()의 default는 공백제거, strip('abc')는 abc제거

*bs4 명령어를 사용할때 대상 눌러서 검사창을 실행하고 select 복사를 이용해서 경로를
복사하는 것이 정확하게 선택된다.


DB개괄


  • DB의 목적
    나중에 잘찾아서 사용하기 위해서 정리하는 것이다.
  • DB의 특징
    index 순서로 데이터들이 정렬되어있다.

*DB(DataBase)는 순서들이 잘 정렬되어있고 나중에 사용할 때 일일이 찾지않아도 잘 뽑아쓸 수 있게끔 하는데 목적이 있다.


  • SQL vs NoSQL(Not only SQL)
    정형화된 칸 vs 칸 X

  • 대표적인 NoSQL 종류: mongoDB

*추세는 DB를 클라우드 환경에서 사용하는 것이 트렌드이다.


mongoDB 시작하기


https://account.mongodb.com/account/register


  1. mongoDB 접속해서 가입진행

  2. create organizaton 생성후 project 생성

  3. build a database 생성 후 shared로 생성

  4. 보안관련 접속 계정 설정 후 connect your application 선택

  5. 파이썬으로 접속하기위한 패키지 설치 (pymongo, dnspython)


mongoDB 연결하기


db파일 python파일로 신규 생성 후 pymongo 기본 코드구조 작성

from pymongo import MongoClient
client = MongoClient('여기에 URL 입력')
db = client.dbsparta

*url에는 mongoDB 사이트 Database 배포란에 있는 connect 항목에 해당 클러스터 주소 붙여넣기

작성 코드 예시

from pymongo import MongoClient
client = MongoClient('mongodb+srv://pablaw:9dlrhd!357@cluster0.spvewgv.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta

doc = {
    'name': 'bob',
    'age': 27
}

db.users.insert_one(doc)

*입력한 데이터 값은 Browser Collector 항목에 들어가보면 확인할 수 있다.


pymongo로 DB조작하기


  • DB조작을 위한 기본코드 구조
# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)

# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})

# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
all_users = list(db.users.find({},{'_id':False}))

# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

# 지우기 - 예시
db.users.delete_one({'name':'bobby'})

학습기록의 내용은 스파르타코딩 웹개발 종합반 강의를 바탕으로 정리했습니다.

출처 - 스파르타코딩클럽

https://online.spartacodingclub.kr/enrolleds/633bc2245a76d057f58c8af5/rounds/62bc5bb577f0a07b9cc66d8b/roadmap

profile
반갑습니다, 프론트엔드 개발자를 꿈꾸고 있습니다 ! https://pablaw.github.io/profileLink/

0개의 댓글