본문 바로가기
코딩 공부

코딩 공부 3주차 기록

by rovertlee 2021. 6. 5.

이번주는 bs4를 활용한 웹 크롤러 만들기, 수집한 데이터를 DB에 저장하고 편집하는 것까지 배웠다.

 

원래 파이썬을 아주 조금 할 줄 알아서 어렵진 않았던 한주지만, 회사에서 갑자기 큰 프로젝트가 잡혀서 공부하며 일정을 소화하는 것이 쉽진 않았다.

 

이제 모든 기록을 남기는 것은 의미가 없는 것 같다고 느낀다.

 

강의를 듣고 반영하는 과정에서 느낀 인사이트나 어떤 문제를 해결하기 위해 검색했던 내용을 남기는 것이 도움이 될 것이라고 생각하여 남긴다.

 

1. 크롤링은 요청하고 받은 데이터를 솎아내는 것이다.

2. bs4로 요청하고 bs4로 솎아낸다.

3. 어처피 웹 구조는 다 비슷하게 설계되어 있으니, 기본 크롤링 코드를 넣고 시작하자.

4. 가져오고 싶은 데이터가 있다면 크롬 브라우저 내 "inspect" 기능을 활용하여 "copy select"기능을 활용하자, 그럼 길이 다 보인다.

5. 안에 있는 요소를 가져오고 싶을 땐 print(title['href']) 처럼 만들고 안에 텍스트를 가져오고 싶으면 print(title.text) 처럼 “.text”를 하면된다.(print만 하는 경우, 파이썬은 print로 테스트를 한다.[자바스크립트는 console.log!]

6. 출력한 데이터를 저장하는 방법

 

몽고DB는 데이터베이스이다. 근데 몽고DB는 내눈에 보이지 않게 활동한다.

로보3T는 몽고 DB 데이터를 시각화해서 보려고 쓴다.

 

SQL은 이미 정의한 테이블 형태에서 받은 데이터를 저장하여 운용할 수 있어서 데이터의 일관성 및 통일성이 높다, 그래서 데이터 분석에 편하다

 

No - SQL의 경우 이미 정의한 테이블 형태에서 받은 데이터 형식이 달라도 저장하여 운영할 수 있다, 그래서 스타트업에서 많이 사용하고 있으나, 편리하게 데이터 분석을 실시하는 것은 어렵다.

 

<pymongo로 mongodb 조작하기>

 

파이썬으로 몽고DB를 조작하려면 pymongo가 필요하다.

 

7. 파이썬 - 슬라이싱으로 문자열 나누기

 

과제를 진행하며, 살짝 막혔던 부분은 슬라이싱으로 문자열을 나누는 부분이였다.

콘솔로 출력되는 부분을 보아하니,, 이렇게 나와서 0번째 데이터만 가져오려고 출력했더니, 1의자리 숫자만 나온다, 그래서 슬라이싱을 활용해서 문자열 내 범위를 가져오는 방법을 사용했다. 그 결과 출력하고자 하는 부분만 잘 나온다!

 

코드 창
출력결과

이번주 깨달은 점 - 핑계대지말고, 작은 시간이라도 쪼개서 공부하자

댓글