Wenn Sie Pferderenndaten kratzen möchten und es zu maschinellem Lernen wird, ist Colaboratory praktisch Notieren Sie sich den Code zum Abkratzen des Pferderennens im Labor.
(Bitte beachten Sie, dass Sie aufgrund von HTML-Änderungen möglicherweise nicht kratzen können. 2020.8 / 30 Betrieb bestätigt)
sample.ipynb
#Installieren Sie Chrom und Selen
#「!Fügen Sie jede Markierung in die Codezelle des Labors ein.
!apt-get update
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin
!pip install selenium
#Importieren Sie die BeautifulSoup-Bibliothek
from bs4 import BeautifulSoup
import requests
import re
import pandas as pd
race_date ="2020"
race_course_num="06"
race_info ="03"
race_count ="05"
race_no="01"
url = "https://race.netkeiba.com/race/result.html?race_id="+race_date+race_course_num+race_info+race_count+race_no+"&rf=race_list"
#Holen Sie sich die Daten der entsprechenden URL im HTML-Format
race_html=requests.get(url)
race_html.encoding = race_html.apparent_encoding
race_soup=BeautifulSoup(race_html.text,'html.parser')
#Entfernen Sie unnötige Zeichenfolgen und speichern Sie sie in der Liste
def make_data(data):
data = re.sub(r"\n","",str(data))
data = re.sub(r" ","",str(data))
data = re.sub(r"</td>","'",str(data))
data = re.sub(r"<[^>]*?>","",str(data))
data = re.sub(r"\[","",str(data))
return data
#Holen Sie sich und speichern Sie nur den Renntisch
HorseList = race_soup.find_all("tr",class_="HorseList")
#Formgebung des Renntisches
#Anzahl der Zeilen in der Tabelle=15("Reihenfolge der Ankunft,Rahmen,Pferdenummer,Pferdename,Sexuelles Alter,Gewicht,Reiter,Zeit,Unterschied,Beliebt,Gewinnchancen,Nach 3F,Eckübergabe,stabil,Pferdegewicht(Erhöhen verringern))
col = ["Reihenfolge der Ankunft","Rahmen","Pferdenummer","Pferdename","Sexuelles Alter","Gewicht","Reiter","Zeit","Unterschied","Beliebt","Gewinnchancen","Nach 3F","Eckübergabe","stabil","Pferdegewicht(Erhöhen verringern)","Anzahl der Läufer"]
#Zählen Sie die Anzahl der Läufer
uma_num = len(HorseList)
df_temp = pd.DataFrame(map(make_data,HorseList),columns=["temp"])
df = df_temp["temp"].str.split("'", expand=True)
df.columns= col
df["Anzahl der Läufer"] = uma_num
df
Danach können Sie viel kratzen, indem Sie das Datum usw. ändern. Ein Labor, für das keine Umgebungskonstruktion erforderlich ist, ist schließlich praktisch.
https://qiita.com/Mokutan/items/89c871eac16b8142b5b2 https://qiita.com/ftoyoda/items/fe3e2fe9e962e01ac421
Recommended Posts