« Python/Script » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
mAucun résumé des modifications |
||
| (2 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 17 : | Ligne 17 : | ||
fichier("test", 10000000) | fichier("test", 10000000) | ||
</source> | </source> | ||
---- | |||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
| Ligne 51 : | 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:Python]] | ||
[[Catégorie:Script]] | |||
Dernière version du 27 janvier 2021 à 10: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)