• 로또 DB 너는 누구냐 ? 크롤링로또 정보를 받아분석 당첨 번호를 예측'크롤러' :: 에프디엔뉴스= FDN news

    로또 DB 너는 누구냐 ? 크롤링로또 정보를 받아분석 당첨 번호를 예측'크롤러'

    경제 2021. 10. 1. 10:17 Posted by 직장내 장애인 인식개선 강사
    반응형

    (SNS = FDNnews) 솔로 저널리스트 칼럼니스트 최봉혁 기자 = 로또 DB 너는 누구냐 ? 로또 정보를 받아분석해서 금주의 번호를 예측하자!

    (SNS = FDNnews) 솔로 저널리스트  칼럼니스트 최봉혁 기자 =  'Web Crawling', 'Web Crawler', 'Web Scraping'라고 여러 명칭으로 불리는데 크롤러라고 하면 인터넷에 있는 웹페이지를 방문해서 자료를 수집하는 일을 하는 프로그램을 의미한다고 보면 된다.

    간단한 예로 지난 파이썬 관련 포스팅에서의 텔레그램 봇에서 환율 정보를 인터넷에서 찾아오는 그 과정이 크롤링인 것이고, 그 부분의 프로그램이 크롤러라고 하면 이해가 쉬울 것이라 생각된다.

    이 포스팅은 로또 정보를 받아서 분석해서 금주의 번호를 예측하자는 의미는 아니고, 엑셀 자료를 파이썬에서 받아서 데이터베이스에 저장, 크롤링에의해서 받은 데이터를 데이터베이스에 저장하고 불러오는 작업을 설명하기 위해서 로또를 예제로 설명한것이다. 

    모두들 흥미가 있는 주제를 가지고 어려울 수 있는 파이썬 코딩에 설명하기위한 예제일뿐이다.

    1로또 1등/2등 당첨점 순위 데이터 받기

    그 1단계로 그동안의 1등과 2등이 배출된 당첨점들의 순위가 있는데 그걸 엑셀로 받아서 데이터베이스화하려고 한다.

    궁금하지 않는가???? 어디서 1등이 제일 많이 나왔는지????내가 무심코 지나갔던 지역이 로또 1등이 엄청나게 나온 당첨점이 있었다면? (이 글을 읽고 나면 로또 가게가 그냥 보이지 않을 것이라 생각된다. 

    여기는 몇 위지?? 이런 생각을 하지 않을까?? 아니면, 휴가를 내고 1순위 가게로 로또 사러 가지는 않을지...)A-1로또 홈페이지에 가면 1등 배출점, 2등 배출점 자료가 있다.

    와우!! 부산 동구에 있는 부일카서비스가 1등이 제일 많이 나왔다

    \"부일카서비스\"는 이미 로또 명당으로 유명한 곳이다. 위치나 한번 볼까??

    정신 차리고, \"엑셀다운로드\"를 해서 아무 데나 저장하자.A-22등 배출점도 동일하게 해서 엑셀다운로드를 한다.

    2등이 제일 많이 나온 곳은 서울 노원구!!! 잘 생각해보면 1등과 2등이 제일 많이 나오는 곳은 역시나 사람이 많은 곳이다. 사람이 많으니 그 주변에서 로또를 많이 사게 돼서 이런 결과가 나오는 게 아닌가 생각된다.(이 생각이 맞는지는 추후에 확인해보자)

    B받은 엑셀 파일은 분석을 쉽게 하기 위해서 csv로 변환한다. - 엑셀의 1행에는 제목이 있는데 이건 csv에 필요가 없으므로 삭제 - 다른 이름으로 저장   파이썬에서 쉽게 하기 위해서 \"Lotto_Rank_1.csv\"로 저장   2등 당첨점 순위는 \"Lotto_Rank_2.csv\"로 저장



    2파이썬에서 csv 파일 불러오기

    파이썬으로 csv 파일 두 개를 불러와서 출력해보자.파이썬의 pandas 라이버러리는 데이터처리를 쉽게할 수 있게 만들어졌는데 그 중에서 csv파일을 간단하게 불러와서 사용하고자 한다.

    여기서 사용한 명령어는 아래와 같다.    * read_csv : csv 파일 불러와서 dataframe 형식으로 변환    * set_index : index(쉽게 세로 순서)를 변경                       코드에서는 순위를 index로 만들어 줌    * to_sql(두 번째 코드) : dataframe을 DB에 바로 저장 가능

    위 코드의 결과로 아래와 같이 각 등수별 당첨점의 순위가 출력된다.

    3DB 저장(SQLite3)

    MySQL과 같은 SQL은 설치 및 관리가 어려워서 SQLite3로 간단하게 저장하려고 한다. (실제로 MySQL로 로또 데이터를 매주 저장하고 있다.

    이 코드가 실행되면 위의 첫 코드에서처럼 1/2등 당첨점 순위가 csv에서 불러와져서 화면에 출력되고 파이썬 파일이 있는 폴더에 \"Lotto.db\"라는 DB 파일이 생성된다.이 파일은 \"DB Browser for SQLite\"로 열어서 데이터를 확인할 수 있다.설치 파일은 아래 링크에서 다운로드 가능.

    \"DB Browser for SQLite\"로 \"Lotto.db\"를 열면 두 개의 테이블이 만들어졌고, 당첨점 순위 데이터가 잘 저장되어 있음을 확인할 수 있다.

    1단계가 이렇게 완성됐다.

    이 순위는 크게 변경이 되지 않으니 긴 주기로 엑셀 받아서 업데이트하면 되는데, 그리 지극정성을 들인다고 꿈에 로또 번호가 나오는 게 아니니까 파이썬 공부 삼아 한 번씩 해보시는 걸 권장 드립니다.

    반응형