« Python/Script » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
mAucun résumé des modifications |
||
(4 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
<source lang="python"> | |||
#------------------------------------------------------------------------------- | |||
# Name module1 | |||
# Purpose exemple de traitement d'un fichier | |||
# ouverture du fichier en mode écriture | |||
# ajout du contenu "valeur et valeur au carré | |||
# Author fylip22 | |||
# Created 01/11/2017 | |||
#------------------------------------------------------------------------------- | |||
def fichier(nom, taille): | |||
with open(r"c:\tmp\{}{}.txt".format(nom, taille), "w") as sortie: | |||
for i in range(taille): | |||
sortie.write("{}, {}\n".format(i, i**2)) | |||
if __name__ == '__main__': | |||
fichier("test", 10000000) | |||
</source> | |||
---- | |||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
#------------------------------------------------------------------------------- | #------------------------------------------------------------------------------- | ||
# Name | # Name module1 | ||
# Purpose | # Purpose | ||
# Author phpage.fr | |||
# Author | # Created 08/11/2016 | ||
# Created | |||
#------------------------------------------------------------------------------- | #------------------------------------------------------------------------------- | ||
Ligne 34 : | Ligne 53 : | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
main() | main() | ||
</syntaxhighlight> | |||
---- | |||
<syntaxhighlight lang="python"> | |||
# -*- coding: utf-8 -*- | |||
#------------------------------------------------------------------------------- | |||
# Nom Fureteur | |||
# Sujet Recherche et enregistrement de données depuis internet | |||
# | |||
# Auteur fylip22 | |||
# Création 04/03/2018 | |||
#------------------------------------------------------------------------------- | |||
from urllib.request import urlopen | |||
from bs4 import BeautifulSoup | |||
import csv | |||
if __name__ == '__main__': | |||
""" | |||
Fureteur de site web | |||
Recherche et enregistrement de données | |||
1.- Recherche du tableau contenant les données | |||
2.- Mémorisation de chaque ligne du tableau | |||
3.- Analyse de chaque ligne pour en extraire : | |||
3.1.- la position dans le classement | |||
3.2.- nom du club | |||
3.3.- différentiel de points | |||
4.- Enregistrement des données dans un fichier CSV (avec séparateur point-virgule) | |||
""" | |||
adresse = 'http://www.lfp.fr/ligue1/classement' # | |||
page = urlopen(adresse) | |||
soup = BeautifulSoup(page, 'html.parser') | |||
ligue_1 = [] | |||
classement = soup.find('table') | |||
clubs = classement.findAll('tr') | |||
for club in clubs: | |||
data = [] | |||
position = club.find('td', attrs={'class': 'position'}) | |||
if position: | |||
data.append(position.text.strip()) | |||
else: | |||
data.append('-') | |||
nom = club.find('td', attrs = {'class' : 'club'}) | |||
if nom: | |||
data.append(nom.find('a').text.strip()) | |||
else: | |||
continue | |||
position = club.find('td', attrs = {'class' : 'position'}) | |||
if position: | |||
data.append(position.text.strip()) | |||
else: | |||
data.append('-') | |||
diff = club.find('td', attrs={'class' : 'diff'}) | |||
if diff: | |||
data.append(diff.text.strip()) | |||
else: | |||
data.append('-') | |||
ligue_1.append(data) | |||
with open('ligue_1.csv','w', encoding='utf-8', newline='') as csv_file: | |||
writer = csv.writer(csv_file, delimiter=';') | |||
for line in ligue_1: | |||
writer.writerow(line) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Catégorie:Python]] | |||
[[Catégorie:Script]] |
Dernière version du 27 janvier 2021 à 11:11
#------------------------------------------------------------------------------- # Name module1 # Purpose exemple de traitement d'un fichier # ouverture du fichier en mode écriture # ajout du contenu "valeur et valeur au carré # Author fylip22 # Created 01/11/2017 #------------------------------------------------------------------------------- def fichier(nom, taille): with open(r"c:\tmp\{}{}.txt".format(nom, taille), "w") as sortie: for i in range(taille): sortie.write("{}, {}\n".format(i, i**2)) if __name__ == '__main__': fichier("test", 10000000)
#------------------------------------------------------------------------------- # Name module1 # Purpose # Author phpage.fr # Created 08/11/2016 #------------------------------------------------------------------------------- import os import datetime import time def top(): decalage = 3600 # décalage horaire d'une heure ficdest = open("//poste1/c$/Statistique/journal.txt","a") # fichier journal ficanalyse = "//poste1/c$/Statistique/BDEnr.mdb" # fichier à analyser tmodiffic = os.path.getmtime(ficanalyse) # récupère la date de dernière modification du fichier thorloge = time.strftime("%Y%m%d-%H%M%S", time.gmtime(time.time() + decalage)) # heure courante et mise en forme tmodif = time.strftime("%Y%m%d-%H%M%S", time.gmtime(tmodiffic + decalage)) # mise en forme # print ("horloge : " + thorloge + " ; temps : " + temps) # écriture dans fichier de destination ficdest.write (ficanalyse + ";" + thorloge + ";" + tmodif + "\n") ficdest.close def main(): duree = 2100 # duree du traitement, en minute intervalle = 60 # duree entre chaque point de mesure, en seconde for i in range (1, duree): top() time.sleep(intervalle) # pause, en seconde if __name__ == '__main__': main()
# -*- coding: utf-8 -*- #------------------------------------------------------------------------------- # Nom Fureteur # Sujet Recherche et enregistrement de données depuis internet # # Auteur fylip22 # Création 04/03/2018 #------------------------------------------------------------------------------- from urllib.request import urlopen from bs4 import BeautifulSoup import csv if __name__ == '__main__': """ Fureteur de site web Recherche et enregistrement de données 1.- Recherche du tableau contenant les données 2.- Mémorisation de chaque ligne du tableau 3.- Analyse de chaque ligne pour en extraire : 3.1.- la position dans le classement 3.2.- nom du club 3.3.- différentiel de points 4.- Enregistrement des données dans un fichier CSV (avec séparateur point-virgule) """ adresse = 'http://www.lfp.fr/ligue1/classement' # page = urlopen(adresse) soup = BeautifulSoup(page, 'html.parser') ligue_1 = [] classement = soup.find('table') clubs = classement.findAll('tr') for club in clubs: data = [] position = club.find('td', attrs={'class': 'position'}) if position: data.append(position.text.strip()) else: data.append('-') nom = club.find('td', attrs = {'class' : 'club'}) if nom: data.append(nom.find('a').text.strip()) else: continue position = club.find('td', attrs = {'class' : 'position'}) if position: data.append(position.text.strip()) else: data.append('-') diff = club.find('td', attrs={'class' : 'diff'}) if diff: data.append(diff.text.strip()) else: data.append('-') ligue_1.append(data) with open('ligue_1.csv','w', encoding='utf-8', newline='') as csv_file: writer = csv.writer(csv_file, delimiter=';') for line in ligue_1: writer.writerow(line)