wisePocket

[3주차 회고] Python, Crawling, MongoDB, Atlas Cloud DB 배운점, 어려웠던점 본문

Python&Flask Tutorials, AWS EB/3rd WEEK Python, Crawling, MongoDB

[3주차 회고] Python, Crawling, MongoDB, Atlas Cloud DB 배운점, 어려웠던점

ohnyong 2023. 7. 8. 22:57

파이썬 입문

  • 배운점:
    • 함수, 변수, 조건문, 반복문 등이 Python에선 어떻게 표현되는지 기초 문법을 사용
    • 주의해야 될 것은 함수는 def라는 명칭으로 시작하고 ' : ' 콜론을 사용한다. 또한 실행될 함수 내용은 ' ' 탭 빈공간으로 열맞춤이 꼭 맞춰줘야 한다는 점
    • 가상환경 venv 구축법(python3 -m venv .venv)
    • venv내 라이브러리 설치법 (pip install xxx)
    • 라이브러리 임포트(import xxx)
    • requests 라이브러리 사용해보기(js fetch와 비슷한 역할) 데이터 가져오기 (data = requests.get(’link’)
    • 크롤링에서 **BeautifulSoup 라이브러리 사용해보기(**우리가 원하는 특정 부분 을 빠르고 쉽게 필터링 해주는 라이브러리)
    • soup의 select()를 통해 원하는 데이터 스코프를 지정
  • 어려운 점:
    • Java, JavaScript랑 햇갈림 주의!
    • requests, bs 라이브러리들의 기능중에 유용한 것들은 무엇이 있을까?
    • 크롤링 코드에서 headers/data/soup 부분은 무엇을 의미하는지 추가 공부가 필요하다.
  • 블로그 링크 :

MongoDB 입문

  • 배운점:
    • 클라우드 서비스인 MongoDB Atlas 가입
    • Python에서 웹에 있는 MongoDB를 조작 환경구축
      • • dnspython라이브러리 설치
        • pip install dnspython
      • • pymongo라이브러리 설치
        • pip install pymysql
    • pymongo 를 사용해서 DB에 접속Atlas에 들어가서 준비해둔 DB에서 Connection string을 URL에 입력
    • from pymongo import MongoClient client = MongoClient('여기에 URL 입력') db = client.dbsparta
    • certifi 라이브러리 필요(os마다다름)
      • SSL: CERTIFICATE_VERIFY_FAILED 에러 해결 35번 블로그 참고
    • 파이썬에서 MongoDB를 사용하면서 CRUD기능의 SQL문을 사용하는 것을 실습
    • ```python # INSERT_ONE # 저장 - 예시 # doc = {'name':'bobby','age':21} # db.users.insert_one(doc) ``` ```python # READ(FIND_ONE) # 한 개 찾기 - 예시 # user = db.users.find_one({'name':'bobby'}) # print(user) ``` ```python # READ(FIND) # 여러개 찾기 - 예시 ( _id 값은 제외하고 출력) # all_users = list(db.users.find({},{'_id':False})) # for a in all_users: # print(a) ``` ```python # UPDATE # 바꾸기 - 예시 # db.users.update_one({'name':'bobby'},{'$set':{'age':19}}) ``` ```python # DELETE # 지우기 - 예시 # db.users.delete_one({'name':'bobby'}) ```
    • 웹 크롤링 데이터를 DB와 연결하여 넣기, 찾기, 수정하기
  • 어려운 점:
    • Python에서는 줄바꿈(탭)을 유의해야 하는구나
    • 크롤링 할 때 계층 구조를 정확히 이해하면서 원하는 데이터가 어디 있는지 파악
  • 블로그 링크 :

"Genie" 지니 음악 차트 데이터 크롤링

  • 배운점: 
    • 최대한 안보고 어떤 코드가 필요한지 해보자
    • 라이브러리 임포트와 HTML 크롤링
      • 웹 크롤링을 위해서 requests를
      • 받아온 html 소스를 parsing(문자열들을 분석/분해/구조화/가공 해주는 프로세스)해줄 수 있는 beautifulsoup을
    • 원하는 데이터 가져오기(1개부터)
    • 파이썬 문자열 추출(슬라이싱) Slicing 콜론 [ : ] 사용
    • select() 함수는 발견한 모든 엘리먼트를 리스트 형식으로 반환
  • 어려운 점:
    • 반복문의 다른 예제들을 실습해서 더 이해해야 한다.
      • 객체 내 접근하는 점표기법과 혼동하지말자.
  • 블로그 링크 :