W3. Python, MongoDB, Crawling

Jinsol Kim·2022년 9월 30일
0

웹개발 종합반

목록 보기
3/5
post-thumbnail

1. 수업 진행 및 완료상황

  • (복습) 스파르타피디아에 OpenAPI 붙여보기 (영화 포스팅)
  • 파이썬 기초 문법을 안다.
  • 원하는 페이지를 '크롤링' 할 수 있다.
  • pymongo를 통해 mongoDB를 제어할 수 있다.
  • mongoDB에 데이터를 저장, 불러오기(한개/여러개), 수정, 삭제 할 수 있다.

2. 개발 중 발생한 이슈/고민 또는 이를 해결한 내용

(위의 코드 작성할 때가 제일 헛갈린다. 코드네임 정하는 것 부터)

(1) 3주차 숙제 중 코드네임 정하는 부분이 애매했다.

  • 해결한 내용: 'rank' 항목이 class="list"로 묶여서 'tr'안에 들어있는 걸 확인 > 여러 개의 'tr'들이 모여있어서 'trs'로 코드네임 결정 > 모범답안 확인

(2) print(title) 입력하는데 '.text.xtrip()' 이 코드들 입력 위치 헤맸다.

  • 해결한 내용: 괄호 안/밖 다 넣어보다가, 불러올 것들은 괄호 하나 안에 다 묶여져야 한다는 것 기억 > print(title.text.stril()) 입력 > 오류 해결

3. 오늘 새로 배운 내용

(1) 파이썬

  • 파이썬은 코드의 들여쓰기로 블록을 구분 (들여쓰기가 달라지면 다른 블록으로 인식)
  • 그리고 줄 맞춰서 코드 입력하기 때문에 중괄호 사용 안함
  • 파이썬 기초 문법: 변수&기본연산, 자료형, 함수, 조건문, 반복문
  • 특히, 파이썬에서 반복문은 리스트의 요소들을 하나씩 꺼내쓰는 형태이기 때문에 무조건 리스트와 함께 쓰인다.

(2) 크롤링

  • 웹상에 존재하는 콘텐츠를 수집하는 작업 (프로그래밍으로 자동화 기능)
  • 오늘 연습한 내용은 Open API를 제공하는 서비스에 OPEN API를 호출해서, 받은 데이터 중 필요한 데이터만 추출하는 방법
  • 크롤링을 하려면 필요한 두 가지:
    웹 주소에 요청해서 HTML을 가져오는 것 (requests 라이브러리 이용)
    가져온 HTML에서 제목 쉽게 찾게 해주는 라이브러리 이용 (BeautifulSoup)
  • BeautifulSoup 라이브러리를 활용한 이유는 HTML의 태글르 파싱(parsing: 구문 분석)해서 필요한 데이터만 추출하는 함수를 제공하는 라이브러리이기 때문.

(3) DB저장 (코드 입력 > 실행 > mongoDB 'REFRESH' > 저장된 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'})


4. 참고 레퍼런스

  • 웹개발 종합반 강의자료_3주차 강의자료

5. Takeaway

  • 자바스크립트와 문법의 비슷함 덕분에 어렵지 않게 복습했다. 그러나 아직 잘 모르겠다. 자바스크립트 문법 공부에서도 반복문이 어려웠는데 파이썬에서도 반복문이 좀.... 왜 그럴까 생각말고 그냥 보고 입력해보며 눈과 손으로 익히자.

0개의 댓글