BeautifulSoup 설치하기 (bs4 패키지 설치)
-> Pycham 환경설정, 인터프리터, 해당 패키지 검색 후 추가
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 부분을 변경해서 사용한다.
requests를 환경설정 패키지에 추가해서 설치한다.
bs4를 패키지에 추가해서 BeautifulSoup을 import한다.
기본 세팅이 되는 텍스트 구조를 참고해서 해당 url로 적용하여 사용한다.
soup 명령어를 통해서 데이터를 가져온다.
# 전체 목록을 가져오기.
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(DataBase)는 순서들이 잘 정렬되어있고 나중에 사용할 때 일일이 찾지않아도 잘 뽑아쓸 수 있게끔 하는데 목적이 있다.
SQL vs NoSQL(Not only SQL)
정형화된 칸 vs 칸 X
대표적인 NoSQL 종류: mongoDB
*추세는 DB를 클라우드 환경에서 사용하는 것이 트렌드이다.
https://account.mongodb.com/account/register
mongoDB 접속해서 가입진행
create organizaton 생성후 project 생성
build a database 생성 후 shared로 생성
보안관련 접속 계정 설정 후 connect your application 선택
파이썬으로 접속하기위한 패키지 설치 (pymongo, dnspython)
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 항목에 들어가보면 확인할 수 있다.
# 저장 - 예시
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'})
출처 - 스파르타코딩클럽