#1-2 경마 데이터 수집하기 - 렛츠런 파크 사이트 보기

목차

    2017. 8. 11. 18:40


    데이터를 수집하기 위해서는 크롤링(Crawling)이라는 것에 대해서 알아야 합니다.


    왜냐하면 렛츠런(경마장) 사이트에 들어가서, 데이터를 그냥 다운받을 수 있는 것이 아니기 때문에 그렇습니다. 


    하루하루의 경기결과나 출전 정보는 웹사이트에서 확인할 수 있지만, 


    우리가 분석을 위해 원하는 CSV나 엑셀 파일의 형태로는 데이터를 제공하고 있지 않습니다.


    크롤링은 이러한 웹사이트의 정보를 긁어와 내 PC에 저장하는 기술입니다. 듣기만 하면 굉장히 어려워 보이지만, python이라는 언어를 통해서 


    쉽게 할 수 있습니다. python에 대한 자세한 설명은 웹에 많이 있으니 생략하고, 바로 crawling 하는 방법으로 넘어가도록 하겠습니다.


    크롤링은 크게 3가지 단계로 진행이 됩니다. (이 단계는 그냥 편의상 제가 만든 단계입니다.)



    1. 내가 크롤링 하고자 하는 웹사이트를 확인한다.



    2. 크롤링 하는 부분을 코딩한다. 



    3. 실행하고 잘 되는지 확인한다.




    그럼, 렛츠런 싸이트를 보면서 크롤링 하는 법을 진행해 보도록 하겠습니다. 


    먼저 렛츠런 사이트(https://park.kra.co.kr/)에 접속하고요. 다양한 정보들이 있습니다.






    그 중에 출전 정보라는 카테고리가 있는데요. 여기는 그 주에 출전하는 말들의 정보가 업데이트 됩니다. 




    그런데 여기서 데이터를 긁어 오시면 절대 안 됩니다. 왜냐하면, 여기는 과거의 날짜로 정보를 조회하더라도 


    지금까지의 경기 결과를 반영한 데이터가 보여지기 때문이죠. 실제로 제가 여기 있는 정보들을 긁어다가 모델을 만들었을 때, 


    적중률이 90%가 넘게 나왔습니다. '오~ 대박이다'라고 생각했지만 데이터가 잘못 되었다는 것을 깨닫는 데는 그리 오래 걸리지 않았습니다.


    실제로 모델링을 할 때 데이터에 결과값이 반영되었는지 여부를 확인하는 것은 중요한 요소 중의 하나입니다.




    우리가 크롤링 해야 되는 데이터는 그럼 어디에 있는지 알아보도록 하겠습니다.


    저희가 크롤링 하는 데이터는 경주 결과입니다.






    경주성적은 경마장별로 따로 저장되어 있습니다. 우리나라에는 서울/부산/제주에 경마장이 있어, 각각의 경주결과는 각각의 카테고리에 들어가 있습니다.


    경주성적에서 조회되는 경주를 하나 클릭하면 아래와 같이 해당 경기의 결과가 자세하게 나옵니다.





    여기서는 경주 결과에 대한 자세한 설명은 생략하도록 하겠습니다.



    그럼 다음에는 해당 경주결과를 크롤링(crawling)하기 위해, 필요한 프로그램에 대해서 간략히 설명드리도록 하겠습니다.


    감사합니다.