[PYTHON] Grattage du résultat de "Schedule-kun"

Aperçu

L'autre jour, le calendrier de la Meiji Yasuda Seimei J League 2020 a été annoncé. (Libération) Cette version fournit les dates des ligues J1, J2 et J3 au format PDF. De plus, la J League fournit diverses données sur différents sites en fonction de l'axe du jeu, de l'axe de l'équipe et de l'axe du joueur.

Jleague Data Site

Cet article utilise read_html``` fourni par `` pandas``` pour afficher la page obtenue à partir du menu "Calendrier / Résultats" fourni sur le site ci-dessus, au lieu de gratter le format PDF. Facile à avoir.

Structure d'URL

https://data.j-league.or.jp/SFMS01/search?competition_years=2020&competition_frame_ids=1&competition_ids=477&tv_relay_station_name=

Description du code

game_schedule.py


# cording:uft-8
import pandas as pd
yyyy = 2020
url = 'https://data.j-league.or.jp/SFMS01/search?'
category = {'1': 477, '2': 478, '3': 479}
schedule = pd.DataFrame(index=None, columns=['année', 'Tournoi', 'section', 'Jour de match', 'K/O temps', 'domicile', 'But', 'Une façon', 'Stade', 'Nombre de visiteurs', 'Diffusion Internet / diffusion TV'])

Créez des catégories J1, J2, J3 et des identifiants annuels au format dic. Créez un bloc de données vide.

game_schedule.py


for key, value in category.items():
    para = 'competition_years=' + str(yyyy)
    para1 = '&competition_frame_ids=' + str(key)
    para2 = '&competition_ids=' + str(value)
    para3 = '&tv_relay_station_name='

    full_url = url + para + para1 + para2 + para3
    # print(full_url)
    df = pd.read_html(full_url, attrs={'class': 'table-base00 search-table'}, skiprows=0)
    schedule = pd.concat([schedule, df[0]], sort=False)

Le point est pd.read_html (full_url, attrs = {'class': 'table-base00 search-table'} ..., qui spécifie l'URL cible et les attributs de <table>. Combinez les fichiers récupérés dans le planning.

game_schedule.py


#Si vous souhaitez remplacer NaN
# schedule = schedule.fillna({'Temps KO': '● Indécis ●', 'Visiteurs':0})
schedule.to_csv('./csv/Game_Schedule_' + str(yyyy) + '.csv', index=False, sep=',')

Enregistrez au format csv dans le dossier spécifié.

Résumé

Utilisation des données

À propos de "Schedule-kun"

Recommended Posts

Grattage du résultat de "Schedule-kun"
Traiter le résultat de% time,% timeit
Gratter l'historique d'utilisation du cycle communautaire
Le résultat de l'installation de python sur Anaconda
Afficher le résultat du traitement de la géométrie en Python
Extrait uniquement complet du résultat de Trinity
Gratter les données gagnantes de Numbers à l'aide de Docker
Le début de cif2cell
Le sens de soi
Principes de base du grattage Python
le zen de Python
L'histoire de sys.path.append ()
La vengeance des types: la vengeance des types
Scraping de l'historique d'utilisation du cycle de la communauté Version PhantomJS
Un mémorandum sur les avertissements dans les résultats de sortie de pylint
Je veux grep le résultat de l'exécution de strace
L'édition définitive du grattage python! (Site cible: grande caméra)
J'ai essayé de gratter la publicité du site de dessin animé piraté
Diminuer le nom de classe de l'affichage des résultats de détection de la détection d'objets
Afficher le résultat de sortie de sklearn.metrics.classification_report sous forme de fichier CSV
Aligner la version de chromedriver_binary
Essayez de gratter les données COVID-19 Tokyo avec Python
10. Compter le nombre de lignes
L'histoire de la construction de Zabbix 4.4
Vers la retraite de Python2
Mesurons le résultat de l'exécution du programme avec C ++, Java, Python.
Le résultat de l'apprentissage automatique des ingénieurs Java avec Python www
Grattage du fichier Excel de la liste des magasins gérant des coupons communs régionaux
Gratter les images des membres du site officiel du groupe Sakamichi
Comparez les polices de jupyter-themes
Obtenez le nombre de chiffres
Expliquez le code de Tensorflow_in_ROS
Réutiliser les résultats du clustering
GoPiGo3 du vieil homme
Calculez le nombre de changements
Gratter la moyenne du Nikkei avec le dramaturge-python
Changer le thème de Jupyter
La popularité des langages de programmation
Changer le style de matplotlib
Visualisez la trajectoire de Hayabusa 2
À propos des composants de Luigi
Composants liés du graphique
Filtrer la sortie de tracemalloc
À propos des fonctionnalités de Python
Sortie du résultat de la méthode de descente de dégradé sous forme d'animation matplotlib
Simulation du contenu du portefeuille
Le pouvoir des pandas: Python
J'ai essayé de gratter le classement du calendrier de l'avent Qiita avec Python
Racler le calendrier de Hinatazaka 46 et le refléter dans Google Agenda
[Python] Réduisons le nombre d'éléments dans le résultat dans le fonctionnement de l'ensemble
Flux d'obtention du résultat du traitement asynchrone à l'aide de Django et Celery
Etudier le web scraping dans le but d'extraire des données de Filmarks # 2
Comment afficher le résultat de sortie de la commande man Linux dans un fichier
Convertissez le résultat de python optparse en dict et utilisez-le
[Introduction au modèle SIR] Considérez le résultat de l'ajustement de Diamond Princess ♬
[Word2vec] Visualisons le résultat du traitement en langage naturel des avis des entreprises