웹개발 종합반 3주차 개발일지

ubin·2023년 6월 12일
0

파이썬을 설치한 후 기본 문법은 지난 시간에 배웠던 javascript와 같다.

웹 크롤링 기초

웹 크롤링을 시작하기 전에는 가상 환경이 구성되어 있어야 한다.

가상 환경도 실행되어 있다면 크롤링 기본 코드 세팅을 해보자.

import requests
from bs4 import BeautifulSoup

URL = "https://movie.daum.net/ranking/reservation"
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')

위의 코드는 웹 크롤링을 실행할 때 항상 맨 위에 존재하는 코드들이다.

크롤링할 때 가장 많이 사용되는 메서드는 selectselect_one이다.

select(): 모든 html 요소를 찾는 메소드
select_one(): 하나의 html 요소를 찾는 메소드

() 안에 들어가는 요소가 class일 때는 .class명 으로 작성하고,
id일 때는 #id명 으로 작성해야 한다.

또한, 태그 검색시
크롬 개발자 도구에서 원하는 태그 위에 오른쪽 클릭한 후
copy > copy selector

선택자를 사용하는 방법

soup.select('태그명')
soup.select('.클래스명')
soup.select('#아이디명')

개발자 도구에서 copy selector 사용하여 태그 복사 사용하는 방법

soup.select('상위 태그명 > 하위 태그명 > 하위 태그명')
soup.select('상위 태그명.클래스명 > 하위 태그명.클래스명')

태그와 속성값으로 찾는 방법

soup.select('태그명[속성='값']')

한 개만 가져오고 싶은 경우

soup.select_one('위와 동일')

Data Base

Data Base에는 크게 두가지 종류가 있다.

  • RDBMS (SQL)
    행/열의 생김새가 정형화 되어있어 데이터의 일관성이나 분석에 용이하지만 중간에 데이터 추가는 쉽지 않다.
    예시) My-SQL
  • No-SQL
    딕셔너리 형태로 데이터를 저장하고 있으며, 데이터 값이 모두 같을 필요가 없이 자유로운 데이터 저장에 유리하지만 일관성이 부족할 수 있다.
    예시) MongoDB

DB 조작하기

사용할 DB는 'MongoDB'이고 이 DB를 조작할 tool 은 'pymongo'이다.

  • DB 연결 및 데이터 넣기
# users 이라는 'collection'에 {'name':'영희', 'age':19} 이라는 '딕셔너리 자료형' 넣기 
db.users.insert_one({'name':'영희', 'age':19})
  • 모든 결과값 보기
#모든 데이터 보기
all_users = list(db.users.find({}, {'_id':False}))
# n번째 결과값 보기 
all_users[n]
# n번째 결과값의 '명칭'값 보기 
all_users[n]['명칭']
  • 특정 결과값 보기
user = db.users.find_one({})
  • 결과값 수정하기
db.users.update_one({조건값}, {"$set":{수정값}})
  • 결과값 삭제하기
db.users.delete_one({조건값})
profile
프론트엔드 개발자가 되고싶은 코린이⌨️

0개의 댓글