정말 오랜만에 Python 코딩.
데이터 분석 관련해서 토이 프로젝트를 진행하고 싶은데, 마침 또 야구 재밌게 보는 중이라... 일단 데이터 가져오기부터.
재료는 pandas / request / beautifulsoup
pandas는 다들 알거고,
처음에 주제를 정했을 때 이것저것 구글링을 해봤는데 웹에서 가져오는 건 request를 통해 하길래 가져와봤다.
beautifulsoup도 이번 기회에 함 써보려 한다.
(혼자 하려다가 https://dovah.tistory.com/25?category=830150 이 분 글을 보고 따라해보고 있다.)
크롤링할 페이지는 다음과 같다.

https://www.koreabaseball.com/Record/Player/HitterBasic/Basic1.aspx
KBO 홈페이지
KBO, 한국야구위원회, 프로야구, KBO 리그, 퓨처스리그, 프로야구순위, 프로야구 일정
www.koreabaseball.com
05.11 기준 잠깐 보자면

엥 문성주? 누구야 이거

와 97년생... 10라 출신인데 자세한 건 더 봐야겠지만, 성적이 완전 터졌는데?
꼴쥐, 헬쥐라고 하지만 쏠쏠한 유망주가 참 자주 나온다니까 ㅠ
탈쥐 효과 선수들까지 생각하면 스카우트팀이 참 괜찮은 거 같다는 생각이 많이 든다.
암튼 타자/투수/수비/주루 데이터 별 기록 페이지 모두를 가져오려 한다.

처음엔 다 해보려 했는데, ㅎㅎ; 일단 첫번째 페이지부터 해보려고 한다.

캡처가 잘못되었는데 데이터는 div 안에 record_result에 있다.
이렇게 해서 긁어올 곳을 찾고.. (Ctrl + Shift + C 를 통해 더 쉽게 확인가능!)

이런 식으로 아까 만들어 놓은 for문 안에 계속 긁어올 수 있도록 한다.
데이터로 가져와서 가공할거니까 (pandas '해줘') requests.get( )로 가져온다.
~~.get(~~).text는 text 형태로 가져온다.
bs로 가공하기 쉽게 파싱해서 가져올 수 있다. (html.parser)
크롤링 같은 거 할 때나 raw 데이터 가져올 때 파싱 쪽이 참 문제였는데,
이런 의미에서 이번에 처음 써보는 beautifulsoup는 꽤 강력한 친구인거 같다.
그리고 가져온 html text에서 아까 찾아놓은 div의 record_result를 넣어준다.
일단 이렇게 하면 데이터를 긁어올 순 있다.
다음엔 pd로 합쳐주고 가공을 해줘야한다.
'Coding' 카테고리의 다른 글
| 과거 정리 - Untitled1.ipynb (Iris, Decision Tree) (0) | 2022.06.27 |
|---|---|
| 과거 정리 - Untitled0.ipynb (import, plt 등) (0) | 2022.06.27 |
| ubuntu 제거 후 grub 커맨드 창 해결 방법 (UEFI) (+CMD 먹통 해결) (0) | 2022.06.25 |
| [python] KBO 기록실 크롤링 - 3 (0) | 2022.05.30 |
| [python] KBO 기록실 크롤링 - 2 (0) | 2022.05.30 |