공부/전반적인 프로그래밍

초보자 웹서비스 만들어보기 - 크롤링(사진 모으기)

김빼로 2021. 9. 12. 14:43

코딩을 가장 빠른 방법은

'어떻게든 서비스를 구현해보라'

라고 하길래 한번 도전해보았습니다.

 

그래서 처음 목표는 강아지 판별기입니다.

 

Teachable Machine을 이용하려면 사진 데이터가 필요합니다.

그래서 크롤링을 구현해서 사진 데이터를 모으는 것부터 하려고 합니다.

<조코딩>님 유튜브를 참고하여 만들었습니다.

 

*크롤링 : 웹사이트(website), 하이퍼링크(hyperlink), 데이터(data), 정보 자원을 자동화된 방법으로 수집, 분류, 저장하는 것. 

 

주의 : 조코딩님 유튜브에는 크롤링 관련 영상 2개 중 셀리니움을 선택하셔야 합니다.

 

셀리니움(selenium)이란?

 

구글에 쳐보니 원어로는 이렇게 되어있네요.

[Selenium is a powerful tool for controlling web browsers through programs and performing browser automation. It is functional for all browsers, works on all major OS and its scripts are written in various languages i.e Python, Java, C#, etc, we will be working with Python]

 

요약하면 '크롤링하는데 쓰이는 도구다.' 네요

생각보다 별게 없어서 놀랐어요.

 

조코딩님 영상을 보고 따라하면서 많은 오류가 있었지만, 자세히 보고 따라하면 모두 잘 될거예요!!

 

우여곡절 끝에 조코딩님의 코드를 구현하는데 성공했지만,

강아지를 종류별로 폴더를 만들고 해당 폴더로 사진을 넣어주는 기능이 없었어요.

 

일일이 하기도 싫고 후에 이 크롤링 기능을 이용할 거 같아 폴더 안에 넣어주는 기능을 구현해보려고 했습니다.

 

구글에 'python making folder' 을 쳐보고 os라는 도구를 사용하면 된다는 걸 알게 됐습니다. 

os가 뭔지 구글에 쳐보니까

 

The OS module in Python provides functions for interacting with the operating system. OS comes under Python's standard utility modules. This module provides a portable way of using operating system-dependent functionality. 

 

이렇게 나오네요. 요약하면 python으로 운영체제과 상호작용하는 거라네요.

os 사용법을 검색하고 os.mkdir을 알아냈습니다.

그 후, 원하던 기능을 구현하기 위해 아래와 같은 코드를 넣었습니다.

 

names = ['Dachshund']

for name in names:

print(name)

os.mkdir('./{0}'.format(name))

 

이런 식으로 그랬더니 잘 작동합니다.

하나 하나 구현해가는게 재밌더라구요.

 

이렇게 하나하나 쌓여서 개발자의 기량이 늘어날 것이라 믿으며 이만 마치겠습니다.