[PYTHON] Flux de raclage des données de courses de chevaux

Tout d'abord, comme pour l'article précédent, étonnamment beaucoup de gens l'ont lu et aimé. Je suis très reconnaissant et tremblant A partir de ce moment, j'écrirai brièvement un article sur le type de code que j'ai écrit.

Les données sur les courses de chevaux peuvent être globalement divisées en informations sur toute la course et en informations sur les chevaux qui ont participé à la course. Ne découpez pas seulement la partie cible soudainement, mais essayez-la une fois avec une grande pression. Je n'ai pas encore ajouté .text

Par exemple, dans le cas de la page suivante sankou.jpg (Sur netkeiba.com)

Le type de parcours, le kilométrage et les conditions de conduite sont écrits dans le cadre rouge, je voudrais donc l'acquérir. Si vous utilisez une belle suop

scr1.py


from bs4 import BeautifulSoup

id = '201806010101'#Race ID pour laquelle vous souhaitez acquérir des données
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>À droite 1200m/la météo:Bien/saleté:Bien/Début: 09:55</span>

Donc, pour la première fois ici, ajoutez .text ou .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)
#Da 1200 bon

J'ai pu obtenir les informations souhaitées telles que le type de parcours, le kilométrage et les conditions de conduite.

L'avantage de faire cela est que si vous utilisez des variables dans la première grande boucle lors de la boucle, les autres Est-il possible d'acquérir des données en douceur telles quelles et est-il facile d'ajouter un hit aux numéros de la liste? Les informations sur les autres courses et les informations sur chaque cheval doivent être obtenues de la même manière.

De plus, il est préférable de ne pas extraire les données des 10 dernières années à la fois. Divisez-le en plusieurs fois, et lorsque vous avez les données, attachez-les avec .concat ou .append. Cela fait du bien de le faire chaque année (si vous le faites fonctionner lorsque vous vous couchez ou que vous allez travailler, il expirera généralement ...)

De plus, lorsque vous l'obtiendrez, vous voudrez l'enregistrer avec quelques calculs, mais faisons-le plus tard. C'est une tâche qui prend du temps, alors ...

Les données de race et de cheval ont été acquises séparément selon le flux ci-dessus.

Cette fois, c'est court, mais je ne fais que chercher des informations et je n'ai rien fait de spécial, donc c'est à peu près tout. Ensuite, j'écrirai sur la façon d'organiser les données, de faire la course et d'évaluer les chevaux. Dans le prochain article, il y aura beaucoup de termes de courses de chevaux, mais j'expliquerai autant que possible.

Recommended Posts

Flux de raclage des données de courses de chevaux
Récupération des données sur les courses de chevaux au Colaboratory
Site de courses de chevaux Web scraping avec Python
Python grattage Extraire l'environnement de course du site de courses de chevaux
Comment récupérer des données de courses de chevaux avec Beautiful Soup
[Python] Flux du scraping Web à l'analyse des données
Comment récupérer des données de courses de chevaux à l'aide de pandas read_html
J'ai essayé de ramper et de gratter le site de courses de chevaux Partie 2
Obtenez les performances passées des coureurs du site de courses de chevaux de grattage Python
Programmer la méthode gagnante des courses de chevaux
Essayez de prédire les courses de chevaux avec Chainer
J'ai appris le grattage à l'aide de sélénium pour créer un modèle de prédiction de courses de chevaux.