220421_TIL_4일차

Today Jeeho Learned·2022년 4월 21일
0

TIL

목록 보기
4/249

어제 오늘 내일 까지 미니프로젝트 진행중!

무신사에서 스냅사진들을 크롤링하여서 회원등록을하면서 커뮤니티사이트를 만드는 중이다.
나는 데이터를 크롤링하고 DB에 연동하는 기능을 맡게되었다!

Datetime 모듈

날짜를 가져와야하는 부분이 있어서 관련 라이브러리나 패키지를 찾아보았었다.
datetime.date: 특정한 날짜의 객체를 만들려면 년, 월, 일을 전달해주면 되고, 오늘 날짜를 얻으려면 today() 를 이용한다.

import datetime
now = datetime.datetime.now()
time = now.strftime('%Y-%m-%d %H:%M:%S')

사용해서 년 월 일 시간 분 초까지 가져 올 수있었다.

크롤링하기

처음에 내가 크롤링해야하는 방법이 조금 다를 것이라고 생각했다. 이런 커뮤니티를 만들려고하다보니, 어떤 구조로 돌아가는지를 제대로 파악하지 못했던 것 같다. 어떻게 할지를 계속해서 상의하는 팀원들에게 모르는게 너무많아서 좀 찾아봐야지 생각하고 얘기를 제때 하지 못했다..
그렇게 혼자 끙끙 앓다가 어떤 방향성으로 해야하는지 팀원에게 조언을 구했다.
모르고 이해가 안되는 것은 확실하게 물어보고가자 ! 를 깨달았다.
기초강의에서 영화목록과 지니뮤직을 크롤링했던 경험이 있었다. 무신사에서 크롤링해오려는것도 이것과 비슷한 것이었다. 아 이거구나 하는 안도의 생각과 함께 배웠던 것들 그냥 먼저 시도해볼껄 이라는 생각이 들었다. 아니겠지? 하지말고 알고 있던 것이라도 Try를 해보자

 cnt = 0
    for tr in image_trs:
        image_tag = tr.select_one('div.articleImg > a > img')
        brandName_tag = tr.select_one('div.articleInfo > div.title > a.brand')
        modelName_tag = tr.select_one('div.articleInfo > div.title > a.name')

        if image_tag is not None:
            cnt += 1
            image_url = image_tag['src']
            brand_name = brandName_tag.text
            model_name = modelName_tag.text

            print(image_url, brand_name, model_name)

            board_uuid = uuid.uuid4()
            now = datetime.datetime.now()
            time = now.strftime('%Y-%m-%d %H:%M:%S')

            doc = {
                'board': {
                    'uuid': str(board_uuid),
                    'modelName': model_name,
                    'brandName': brand_name,
                    'imageUrl': image_url,
                    'createdAt': time,
                    'star': 0.0,
                },
                'comments': [],
                'starHistory': [],
            }

            db.brandSnaps.insert_one(doc)
            if cnt == 10:
                break

크롤링한 부분인데, 분명히 수업에서 공부했던 부분인데, 막상 써보려고 하니 어려웠다.
하나하나 차근차근 다시 강의보면서 작성했다.
아는 것과 보는 것 들은 것은은 확실히 다르다. 듣고 보지 말고 알자!!
여기서는 10개의 값만 가져오자고해서 if문으로 조건을 주었다 .
db도 잘 들어가려나 확인하는데 자꾸 커밋하고 푸쉬하는 과정에서 환경설정에 바뀌고 말썽을 부리면서 이것도 해결하려고 혼자 찾고 고민하다 많은 시간을 보냈다.ㅠㅠ 결국 팀원들에게 도움을 요청하고 해결할수있었다!!
물론 찾아보는 것은 좋지만, 혼자보단 여럿이서 찾는게 시간을 아낄수있구나를 알게되었다.

팀원들과 소통

내일 있을 발표를 위해 팀원들과 간단한 코드리뷰와 프로젝트진행하면서 느낀점을을 이야기했다.
프로젝트 내내 하는게 없어서 민폐만 끼치는 것(내가 제일싫어하는 것) 같아서 마음이 불편했고 잠도 제대로 못하고 늦게자고 일찍일어나서 공부하려고했다. 그래도 많이 부족해서 해결할수없는 것들이 너무 많아서 무기력했지만, 팀원들에게 너무미얀하고 차차 나아지는 모습 보여주겠다고 약속하고 다짐했다.
같이 열심히 해봅시다!!

profile
기록해야 (살아)남는다 !

1개의 댓글

comment-user-thumbnail
2022년 4월 22일

발전하는 모습 너무 보기 좋습니다! 화이팅입니다!ㅋㅋ

답글 달기