개발 강좌/크롤링 강좌

크롤링 01 | 크롤링이란?

건유1019 2020. 11. 22. 12:00

안녕하세요. YBOT과 PUBG BOT을 제작하고 디스코드 봇 개발자라고 합니다. 이번에 커뮤니티에서도 나오고, DM으로도 크롤링이란 게 어렵다는 분들이 많아서 크롤링에 대한 강의를 작성해보고자 합니다. 크롤링이란 건 사실 이해하면 매우 쉬운 것 중 하나로 저도 처음에는 이해하는 과정에서 어려움을 많이 느꼈습니다. 이번 시간에는 크롤링에 대해 알아보고,

크롤링을 하는 방법에 대해 서술하고자 합니다. 

 

언어는 처음에는 파이썬을 기반으로 작성하려고 합니다.


크롤링이란?

우선 크롤링이란것에 대해 알아야 할 것 같습니다. 크롤링이란 웹페이지에서 특정한 데이터를 사용자에게 보여주는 것입니다. 크롤링을 하는 프로그램은 "크롤러"라고 부르기도 합니다.

위 사진과 같이 크롤링을 통하여 다양한 정보값을 구할 수 있습니다. 이번 카테고리에서는 이 중간 과정인 크롤링에 대해 알아보고자 합니다.


준비!

우선 파이썬이 필요합니다.

www.python.org/downloads/ 에 들어가셔서 파이썬을 먼저 받아주세요. 파이썬은 3.8.X 버전을 권장합니다.

그다음에는 모듈이 필요합니다. 

 

(Windows 기준)

1. 원도우 + R키를 눌러서 실행창을 띄웁니다.

2. "cmd"를 입력하여 진행합니다.

3. "py -3 -m pip install requests bs4" 를 작성합니다.

비슷하게 나와도 정상적으로 설치된것입니다.

 

(Linux 기준)

1. Termial 창을 열어줍니다.

2. "python3 -m pip install requests bs4"를 통하여 모듈을 설치합니다.

라즈베리파이로 찍은 것이며, 이미 설치되어있기에 이미 설치되었다고 나옵니다.

 

이렇게 모듈을 설치하고 에디터를 설치하셔야 합니다. 에디터는 추천만 하고 따로 설치 과정을 작성하지 않았습니다.

* Visual Studio Code

* PyCharm

이 두 개를 저는 추천합니다. PyCharm(파이참)은 안드로이드 스튜디오와 비슷하여 자바를 하는 분들은 적응하기 쉽고, 비주얼 스튜디오 코드는 git이나 추가적인 기능인 면에서 사용하기 편리하기 때문입니다.


주의사항

크롤링을 상업용으로 사용하시기 전에 참고하셔야 할 것이 있습니다. 웹사이트에 배포 중인 웹 데이터는 저작권과 똑같은 정보입니다. 함부로 추출하여 사용하면, 확실하게 구분해서 사용해야 합니다. 이제 확실하게 구분하여 사용하는 법에 대해 알아보도록 합시다.

 

대부분들의 웹사이트들에는 ~~.com, ~~.kr, ~~.co.kr, ~~.net 이라고 구성되어있습니다. 이런 사이트에 /robots.txt를 적어서 확인해 볼 수 있습니다.

대표적으로 네이버를 예시로 삼아보겠습니다.

우선 http://www.naver.com/robots.txt 를 통하여 사이트에 이동해보자면 사진과 같이 나오게 됩니다.

이 뜻은 모든 유저들에게 정보를 가져가는 행위를 금지하고 있다는 뜻입니다.

User-agent를 통하여 어떤 유저 인지 정할 수 있으며, Allow라고 적혀있으면 허용, Disallow라고 적혀있으면, 비허용이라고 합니다. 또한 이들 오른쪽에는 ~~/ 를 기준으로 말합니다. /$의 경우 "메인 페이지"를 정의하고 있으며 자세한 정보는 구글을 참조해보시면 좋을 듯합니다. 

 

사실 이렇게 말하면 이해가 어려울 듯하여 아래의 구글 링크를 걸어두겠습니다. 참조해보시기 바랍니다.

 

https://support.google.com/webmasters/answer/6062608?hl=ko&ref_topic=6061961&visit_id=637348787877490837-2446741916&rd=1 링크를 클릭하여 robots.txt에 대해 자세히 알아보시기 바랍니다.


이상으로 강의를 마치며, 다음에는 html를 불러와보도록 하겠습니다.