-
개발 바다 위에서 쓰는 항해일지 3삐약이 성장기 2022. 8. 31. 18:58
1. 웹 개발 종합반 3주 차
3주차 강의 목록 3주 차에 배운 내용들을 서술하기 전에
이번 주차에서는 무엇을 배웠는지 먼저 간단하게 요약을 하고 시작하겠다.
먼저 3주차 강의를 시작하면서 1~2주 차에 배웠던 자바스크립트가 아닌 파이썬을 새로 시작하게 되었다.
때문에 자바스크립트와 파이썬의 문법 간 다른 점을 먼저 배우고 네이버 영화 페이지를 크롤링해서
내가 가져오고 싶은 정보를 어떻게 표현하는지 배우는 시간이었다.
그 뒤에는 몽고 데이터베이스를 이용하는 법을 배워서 내가 크롤링해서 받아온 데이터를 데이터베이스에 저장과 관리하는
법을 배우고 마지막으로 크롤링과 데이터베이스를 이용해서 지니뮤직 홈페이지를 스크래핑하는 숙제를 받았다.
3주 차에서 나는 똑같이 데이터 안에서 내가 쓸 부분만 가져오는 행동이지만
ajax를 사용하는 자바스크립트와 웹 스크래핑(크롤링)을 이용하는 파이썬
사이의 차이점을 인식하는 데에 초점을 두었다.
2. 웹 스크래핑(크롤링) 기초
크롤링 기본 세팅 코드 먼저 파 이참 안에서 BeautifulSoup이라는 라이브러리를 먼저 추가하고 시작했다.
내가 크롤링하고 싶은 url을 입력하고 soup을 출력했을 때 실행창에서 url의 html이 들어오는 것을 확인할 수 있다.
크롤링 기초를 배우는 강의에서는 네이버 영화 페이지에서 각각 순위와 제목, 그리고 별점만 가져와서 표시해보는 것을 목표로 하였다.
시작하기에 앞서 ajax와 마찬가지로 범주를 조금씩 좁혀가면서 내가 얻고자 하는 것들을 확인하는
과정이 필요한데, 수업에 사용되었던 네이버 영화 페이지의 경우 개발자 도구를 사용해서 확인하면
리스트 형식으로 이루어진 것을 알 수 있다.
리스트 형식으로 이루어진 영화 순위 위에서 부터 각각 제목, 순위, 별점을 개발자도구에서 copy selector 해온 모습 위 사진처럼 리스트 안에 저장된 영화의 구성 요소는 제목, 순위, 별점들이 각각 일정한 모양을 가지고 있는 것을 알 수 있었고다음으로 줄여야 할 범주는 어디서부터 어디까지 인지 확인할 수 있었다.
영화의 제목 부분을 표시하기 위해 td.title > div > a를 범주로 설정한 모습 표시되고 있는 제목들 이렇게 제목과 순위, 별점을 확인을 하고 난 뒤에는 이안에서 내가 가져올 정보가 어디에 있는지 찾는 것이 중요하다.
영화 제목이나 별점은 text로 저장되어 있고, 순위는 alt라는 부분에 이미지로 저장되어 있는 것을 확인할 수 있었고
페이지에 10개 단위로 나누기 위해 설정된 가로선은 실행창에서 None으로 보이는 것을 확인했으니
None이 아닐 때에만 표시할 수 있도록 조건문을 사용할 수 있었다.
조건문을 사용하여 요소들을 추출하는 코드(왼)와 실행 결과물(오) 3. mongoDB 사용하기
이렇게 내가 추출한 데이터를 나만 보지 않고 어딘가에 저장하고 사용하기 위해
mongo데이터베이스를 사용하기로 했다.
pymongo 기본코드 몽고 데이터베이스를 사용하기 위해서는 pymongo라는 라이브러리를 추가한 뒤 기본 코드를 작성하면
데이터베이스와 연결할 수 있다.
흰색 부분에는 사용자가 설정한 데이터베이스의 아이디와 비밀번호가 들어간다.
데이터베이스와 상호작용하기 위한 여러가지 코드(왼)와 데이터베이스에 저장하는 코드(오) mongoDB안 새로생긴 movies 폴더에 영화들이 저장된 모습 데이터 베이스에 저장된 사진을 보면 내가 추출한 title, rank, star 만 저장되어 있는 것을 볼 수 있다.
이제 배운 것을 이용해 3주 차 숙제를 해결해야 한다.
4. 3주차 숙제
3주차 숙제는 네이버 영화를 크롤링했던 것처럼 지니뮤직 홈페이지를 크롤링해서 표시하는 일이다.
지니 뮤직은 영화 페이지와 다르게 개수마다 끊어서 나누는 가로선, 코드에서는 None이라고 표시되는 게 없기 때문에
조건문을 사용하지 않고 작성할 수 있었다.
순위, 제목, 가수명을 가져오는 코드(왼) 와 실행창에 표시된 결과(오) 2주 차에는 외부 데이터를 내 페이지에 적용하는 방법을 배웠다면
3주 차에서는 데이터를 가공해서 내가 쓸 부분만 따로 내 데이터베이스에 저장하는 법을 배웠다.
결국 나만 볼 수 있는 페이지가 아니라 전 세계 사람들이 모두 접근할 수 있는 페이지를 만들기 위해서는
데이터를 보관하는 방법이 중요하다는 사실을 배웠고
파이썬과 자바스크립트의 문법 간 차이를 유의하면서 복습하는 것이 오늘 나에게 주는 숙제다.
4주 차에서 봐요 안뇽
'삐약이 성장기' 카테고리의 다른 글
Javascript 알아보기 (0) 2022.09.23 개발 바다 위에서 쓰는 항해일지 5 (1) 2022.09.02 개발 바다 위에서 쓰는 항해일지 4 (0) 2022.08.31 개발 바다 위에서 쓰는 항해일지 2 (0) 2022.08.29 개발 바다 위에서 쓰는 항해일지 1 (1) 2022.08.27