Moon Blog

사전학습 2주차 - 웹 스크래핑(크롤링) / 몽고DB 본문

신한투자증권 프로 디지털 아카데미

사전학습 2주차 - 웹 스크래핑(크롤링) / 몽고DB

문블룸 2023. 1. 2. 21:53

- 파이썬 패키지

https://pypi.org/

 

PyPI · The Python Package Index

The Python Package Index (PyPI) is a repository of software for the Python programming language.

pypi.org

파이썬 패키지 서치 가능한 곳 - 가이드 문서 제공

 

- 파이썬 패키지 관리 방법

  • Why

하나의 pc에서 여러 프로젝트를 진행할 때 각각의 프로제트에서 사용되는 패키지가 다른 경우를 위해서 패키지를 분리해서 관리하여 오류 예방

  • How

1) 가상환경 생성 - python -m venv venv 

2) 가상환경 활성화 - 활성하고자 하는 경로의 cmd 창(vscode)에서 .\venv\Scripts\activate.bat 입력

-> 성공적으로 실행되는 경우 cmd 경로 앞에 (venv)가 뜸

3) 가상환경 비활성화 - 활성하고자 하는 경로의 cmd 창(vscode)에서 .\venv\Scripts\deactivate.bat 입력

-> 성공적으로 실행되는 경우 cmd 경로 앞에 (venv)가 사라짐

 

- 웹 스크래핑(크롤링)

  • What

웹 스크래핑 - 웹 사이트에서 원하는 부분에 위치한 데이터를 수집하는 기술

웹 크롤링 - 웹 크롤러가 웹에서 필요한 자료들을 수집하는 기술

  • How

개발자 도구를 이용하여 HTML 코드를 분석하여 특정 규칙성을 찾음

그리고 그 규칙에 맞는 특정 데이터만을 불러오는 방법을 사용

 
import requests
from bs4 import BeautifulSoup

res = requests.get("스크래핑 할 주소") # 주소로부터 데이터 불러옴
soup = BeautifulSoup(res.text, "html.parser") # res 변수의 코드(text), html 확장자로 분석

requests와 BeautifulSoup 라이브러리를 활용해서 브라우저로부터 받아온 HTML 파일을 파싱하여 정보 분석

파싱은 문자열로 구성된 문서들로부터 내가 얻고자하는 데이터를 특정 규칙성으로 추출하여 정보를 가공하는 것

 

Ref)

https://truman.tistory.com/107

https://velog.io/@yuns_u/python%EC%9C%BC%EB%A1%9C-web-scraping

 

- MongoDB

  • What

NoSQL 데이터베이스로  document를 저장함 즉, 데이터 객체들이 컬렉션 내부에서 독립된 문서로 저장됨

document는 json 구조로 key-value 쌍을 이루어서 저장됨

컬렉션은 MongoDB 안에 들어있는 일종의 폴더 -> 해당 컬렉션에 document가 저장이 됨

https://pymongo.readthedocs.io/en/stable/tutorial.html

 

Tutorial — PyMongo 4.3.3 documentation

Tutorial This tutorial is intended as an introduction to working with MongoDB and PyMongo. Prerequisites Before we start, make sure that you have the PyMongo distribution installed. In the Python shell, the following should run without raising an exception

pymongo.readthedocs.io