[PYTHON] Scrapping von Pferderenndaten im Colaboratory

Schaben von Pferderenndaten im Labor

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)

Code unten

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

スクリーンショット 2020-08-30 19.24.04.png

Schließlich

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.

Referenz

https://qiita.com/Mokutan/items/89c871eac16b8142b5b2 https://qiita.com/ftoyoda/items/fe3e2fe9e962e01ac421

Recommended Posts

Scrapping von Pferderenndaten im Colaboratory
Datenrabatfluss für Pferderennen
Pferderennseite Web Scraping mit Python
So kratzen Sie Pferderenndaten mit Beautiful Soup
Ich habe versucht, den Pferderennplatz Teil 2 zu kriechen und abzukratzen
Holen Sie sich vergangene Leistung von Läufern von Python Scraping Pferderennen Website