Base de données Edibatec
Scraping de https://www.edibatec.org/consultation/base/fabricant.php
⚡ Attention ! Ce message est important.
Le scraping est fait !! ne pas relancer
Au cas où pour lancer le scraping :
Intéroger la base de données Edibatec
import pandas as pd
import sqlalchemy
# 1.-Turn on database engine
dbEngine = sqlalchemy.create_engine(
'sqlite:///bdd/edibatec_release.sqlite') # ensure this is the correct path for the sqlite file.
# 2.- Read data with pandas
df_distinct = pd.read_sql("""SELECT DISTINCT "FABRICANT_GAMME" FROM Fabricants """, dbEngine)
print(df_distinct)
df_isolant = pd.read_sql("""SELECT * FROM Fabricants WHERE "FABRICANT_CLASSE" LIKE "PRODISO" """,
dbEngine)
Catégories des produits
Nom de la colonne dans edibatec_release.sqlite : FABRICANT_GAMME [X] = INTERESSANT POUR ORENI
| Gamme | Code | |
|---|---|---|
| 0 | Protection solaire | PROTSOL |
| 1 | Pompe à chaleurs et systèmes thermodynamiques (PAC) | SYSTHER |
| 2 | Verres | VITRE__ |
| 3 | Ouvrants | OUVRANT |
| 4 | Entrées d'air de VMC | VMCENTR |
| 5 | Radiateurs à eau chaude | RADRECH |
| 6 | Vitrages isolants | VITRES_ |
| 7 | Ponts thermiques | PONTHER |
| 8 | Emetteurs | EMETTEU |
| 9 | Production et stockage d'eau chaude sanitaire | PREPECS |
| 10 | Bouches d'extraction d'air de VMC | VMCEXTR |
| 11 | Produits d'isolation du bâtiment | PRODISO |
| 12 | Collecteurs chauffage et hydrocâblés | COLLECT |
| 13 | Plaques et panneaux | PLAQUES |
| 14 | Extracteur | EXTRACT |
| 15 | Chaudières bois | CHAUDBO |
| 16 | Chaudières gaz,fioul,électriques | CHAUDRS |
| 17 | Centrale de traitement d'air | CENTRAL |
| 18 | Structure des murs | STRUMUR |
| 19 | Tous tubes et canalisations | TUBES__ |
| 20 | Performances acoustiques des verres isolants | ACOUVER |
| 21 | Coffrets | COFFRET |
| 22 | Régulateurs de débit | REG_DEB |
| 23 | Capteurs solaires thermiques | CAPTSOL |
| 24 | Vannes d'équilibrage | VANEQUI |
| 25 | Sorties de toit aérauliques | SORTOIT |
| 26 | Générateurs d'air chaud | GENEAIR |
| 27 | Capteurs solaires photovoltaïques | CAPT_PV |
| 28 | Ballon de stockage solaire | BALLSOL |
| 29 | Automatisme de protection solaire | AUTOMAT |
| 30 | Module thermique d'appartement (MTA) | MOD_MTA |
| 31 | Fixations/supports | FIXATIO |
| 32 | Thermostats, Programmateurs et Thermostats programmables | TH_PROG |
| 33 | Accessoires | ACCESSO |
| 34 | Registres aérauliques | REGSTRA |
| 35 | Onduleurs pour installations photovoltaïques | ONDULEU |
| 36 | Pompe à chaleurs et systèmes thermodynamiques (PAC) | POMPCHA |
| 37 | Poêles à bois | POELEBO |
| 38 | Emetteurs radiants | TUBERAD |
| 39 | Ventilateurs brasseurs d'air | VENTILB |
| 40 | Accessoires de réseau aéraulique | ACCRESO |
| 41 | Articles de chaufferie | ARTCHAU |
| 42 | Têtes thermostatiques pour robinet de chauffage | TETHERM |
| 43 | CESI - Chauffe-eau Solaires Individuels | CHFSOL_ |
| 44 | Adjuvants & colles | ADJUVNT |
| 45 | Gaines pour tube | GAINTUB |
| 46 | Plancher isolation | ISOPLAN |
| 47 | Mesureurs électroniques et autres | MMESURE |
Isolation
Catégories
df = pd.read_sql("""SELECT * FROM Fabricants WHERE "FABRICANT_CLASSE" LIKE "PRODISO" """,
dbEngine)
# 4.- Iterate over each row
list_fiche_produit = []
for data in df["FICHE_PRODUIT"]:
fiche_produit = json.loads(data)
list_fiche_produit.append(fiche_produit)
# 5.- Convert to dataframe
df_fiche_produit = pd.DataFrame(list_fiche_produit)
df_fiche_produit = df_fiche_produit[
["type_d_isolation", "type_d_isolant", "reference_commerciale", "code_barre",
"conductivite_thermique_lambda"]]
print(df_fiche_produit.head(40))
resultat = df_fiche_produit['type_d_isolant'].drop_duplicates().reset_index(drop=True)
# Afficher le résultat
print(resultat)
| Numéro | Description |
|---|---|
| 1 | Isolant simple |
| 2 | Panneau de toiture |
| 3 | Complexe avec plaque de plâtre |
| 4 | Complexe avec plaque ciment |
| 5 | Complexe avec plaque de plâtre hydrofuge |
| 6 | Composite avec laine de bois |
Comptages des produits isolants
# Agrégation et comptage
aggregated = df_fiche_produit.groupby('type_d_isolant').count()
# Affichage du résultat
print(aggregated)
Statistique des produits isolants simple
# Filtrer les lignes où le type_d_isolant est "Isolant simple"
isolant_simple_df = df_fiche_produit.loc[df_fiche_produit['type_d_isolant'] == 'Isolant simple']
isolant_simple_df[['conductivite_thermique_lambda_value', 'conductivite_thermique_lambda_unit']] = isolant_simple_df[
'conductivite_thermique_lambda'].str.extract(r'(\d+\.\d+|\d+) (W/m\.K)')
# Afficher le DataFrame
print(isolant_simple_df)
| type_d_isolation | type_d_isolant | reference_commerciale | code_barre | conductivite_thermique_lambda_value | conductivite_thermique_lambda_unit | |
|---|---|---|---|---|---|---|
| 1 | Thermique, Acoustique | Isolant simple | ACOUSTILAINE 035 (100x600x5400mm) | NaN | 0.0350 | W/m.K |
| 2 | Thermique | Isolant simple | IKO enertherm ALU XL 180 mm | NaN | 0.0220 | W/m.K |
| 3 | NaN | Isolant simple | Vrac à insuffler dans murs larges - ROCKIN L e... | 3537311011236 | 0.0360 | W/m.K |
| 9 | NaN | Isolant simple | UNIMAT SOL SUPRADAL MI BD240 1200*2500X2 | 3334160398569 | 0.0360 | W/m.K |
| 11 | Thermique | Isolant simple | IKO enertherm ALU XL 40 mm | NaN | 0.0220 | W/m.K |
| ... | ... | ... | ... | ... | ... | ... |
| 7697 | NaN | Isolant simple | Isolant biosourcé R 2,5 Ep 140 mm | NaN | 0.0220 | W/m.K |
| 7698 | Thermique, Acoustique | Isolant simple | PANOL THERMO 035 - 100 x 60 cm - Ep.140 mm | NaN | 0.0330 | W/m.K |
| 7699 | Thermique | Isolant simple | Laine de verre IBR 32 thermo-acoustique - Ep. 200 mm | NaN | 0.0320 | W/m.K |
| 7701 | Thermique, Acoustique, Sécurité incendie | Isolant simple | ISOVER MUR-ISO - Rouleau 1200x5000x90mm - R=2.50 | NaN | 0.0360 | W/m.K |
| 7702 | Thermique, Acoustique, Sécurité incendie | Isolant simple | PANOL THERMO 035 - 120 x 60 cm - Ep.160 mm | NaN | 0.0330 | W/m.K |
stats = isolant_simple_df['conductivite_thermique_lambda_value'].describe()
# Afficher le DataFrame
print(stats)
