경마 데이터 스크래핑 흐름
매우 감사하고 떨고 있습니다.
이번부터 구체적으로 어떤 코드를 작성했는지를 간략하게 기사로 해 나갑니다.
경마 데이터라고 해도 크게 나누어 레이스 전체의 정보와 그 레이스에 출주한 말의 정보가 있습니다.
갑자기 목적의 부분만을 잘라내지 않고, 주저없이 한번 봐 본다. .text 등도 아직 붙지 않는다
예를 들어 다음 페이지의 경우
(netkeiba.com에서)
빨간색 프레임 부분에 코스의 종류, 주행 거리, 바바 상태가 쓰여 있기 때문에 취득하고 싶습니다.
beautifulsuop을 사용해 온다면
scr1.py
from bs4 import BeautifulSoup
id = '201806010101'#データ取得したいレースID
url = ('https://db.netkeiba.com/race/%s/' % (id))
response = request.urlopen(url)
bs = BeautifulSoup(response, 'html.parser')
raceinfo = bs.select("span")[6]
print(raceinfo)
#<span>ダ右1200m / 天候 : 晴 / ダート : 良 / 発走 : 09:55</span>
따라서 처음으로 .text 또는 .split을 추가하십시오.
scr2.py
import re
racetype = raceinfo.text.split()[0][:1]
length = re.sub("\\D", "", raceinfo.text.split()[0])
conde = raceinfo.text.split()[8]
print(racetype,length,conde)
#ダ 1200 良
목적의 정보인 코스의 종류, 주행 거리, 바바 상태를 취득할 수 있었습니다.
이런 장점은 루프 할 때 첫 번째 큰 부분에 변수를 사용하면 다른
그대로도 부드럽게 데이터 취득할 수 있는 것, 리스트의 숫자의 아타리가 붙기 쉬운 것일까요.
다른 레이스의 정보나, 말마다의 정보도 같은 요령으로 취득하면 좋을 것입니다.
그리고, 지난 10년의 데이터를 한 번에 스크래핑하는 것은 그만두는 편이 좋습니다.
몇 번이나 나누어 데이터가 갖추어지면 .concat 라든지 .append 라든지로 붙인다.
1년마다 하면 좋은 느낌
또 취득한 시점에서 뭔가 계산을 더한 것을 저장하고 싶습니다만, 나중에 합시다. 단지 시간이 걸리는 작업이기 때문에 ...
이상과 같은 흐름으로 레이스와 말의 데이터를 나누어 취득했습니다.
이번은 짧습니다만, 정보를 취할 뿐이고 특별한 일은 하고 있지 않으므로, 이 정도로.
다음은 데이터의 정리, 레이스나 말의 평가 방법에 대해 쓰려고 합니다.
다음 기사에서는 아무래도 경마 용어가 많아집니다만, 가능한 한 해설해 갑니다.
Reference
이 문제에 관하여(경마 데이터 스크래핑 흐름), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Fuji-race/items/97ff12c44e9d33f098eb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)