edb-noumea 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {edb_noumea-0.3.0 → edb_noumea-0.3.1}/PKG-INFO +2 -3
- {edb_noumea-0.3.0 → edb_noumea-0.3.1}/README.md +6 -2
- {edb_noumea-0.3.0 → edb_noumea-0.3.1}/edb_noumea/details.py +12 -9
- {edb_noumea-0.3.0 → edb_noumea-0.3.1}/edb_noumea.egg-info/PKG-INFO +2 -3
- {edb_noumea-0.3.0 → edb_noumea-0.3.1}/edb_noumea.egg-info/requires.txt +1 -2
- {edb_noumea-0.3.0 → edb_noumea-0.3.1}/edb_noumea.egg-info/top_level.txt +1 -0
- {edb_noumea-0.3.0 → edb_noumea-0.3.1}/pyproject.toml +4 -3
- {edb_noumea-0.3.0 → edb_noumea-0.3.1}/edb_noumea/__init__.py +0 -0
- {edb_noumea-0.3.0 → edb_noumea-0.3.1}/edb_noumea/main.py +0 -0
- {edb_noumea-0.3.0 → edb_noumea-0.3.1}/edb_noumea.egg-info/SOURCES.txt +0 -0
- {edb_noumea-0.3.0 → edb_noumea-0.3.1}/edb_noumea.egg-info/dependency_links.txt +0 -0
- {edb_noumea-0.3.0 → edb_noumea-0.3.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: edb-noumea
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Scraper robuste pour la qualité des eaux de baignade à Nouméa. Ajout export CSV automatique et détection améliorée des colonnes PDF.
|
|
5
5
|
Project-URL: Homepage, https://github.com/adriens/edb-noumea
|
|
6
6
|
Project-URL: Repository, https://github.com/adriens/edb-noumea
|
|
@@ -8,6 +8,5 @@ Requires-Dist: requests
|
|
|
8
8
|
Requires-Dist: beautifulsoup4
|
|
9
9
|
Requires-Dist: pandas
|
|
10
10
|
Requires-Dist: lxml
|
|
11
|
-
Requires-Dist:
|
|
12
|
-
Requires-Dist: jpype1
|
|
11
|
+
Requires-Dist: pdfplumber
|
|
13
12
|
Requires-Dist: matplotlib
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-

|
|
1
|
+
[](https://docs.astral.sh/uv/)
|
|
2
2
|
[](https://pypistats.org/packages/edb-noumea)
|
|
3
|
-
|
|
3
|
+
[](https://www.kaggle.com/code/adriensales/qualit-eaux-de-baignade-noum-a)
|
|
4
|
+
[](https://www.kaggle.com/datasets/adriensales/qualit-des-eaux-de-baignade-nouma)
|
|
5
|
+
[](https://github.com/adriens/edb-noumea-data)
|
|
6
|
+
[](https://github.com/adriens/edb-noumea-tui)
|
|
7
|
+
[](https://www.noumea.nc/noumea-pratique/salubrite-publique/qualite-eaux-baignade)
|
|
4
8
|
|
|
5
9
|
|
|
6
10
|
|
|
@@ -21,10 +21,10 @@ def get_pdf_url():
|
|
|
21
21
|
return get_latest_pdf_url()
|
|
22
22
|
|
|
23
23
|
import pandas as pd
|
|
24
|
-
import tabula
|
|
25
24
|
import requests
|
|
26
25
|
import io
|
|
27
26
|
from bs4 import BeautifulSoup
|
|
27
|
+
import pdfplumber
|
|
28
28
|
|
|
29
29
|
# URL de la page officielle contenant le lien vers le PDF
|
|
30
30
|
PAGE_URL = "https://www.noumea.nc/noumea-pratique/salubrite-publique/qualite-eaux-baignade"
|
|
@@ -76,11 +76,12 @@ def get_detailed_results():
|
|
|
76
76
|
pdf_file = io.BytesIO(response.content)
|
|
77
77
|
|
|
78
78
|
try:
|
|
79
|
-
print("🔍 Extraction des tableaux du PDF...")
|
|
80
|
-
|
|
79
|
+
print("🔍 Extraction des tableaux du PDF avec pdfplumber...")
|
|
80
|
+
with pdfplumber.open(pdf_file) as pdf:
|
|
81
|
+
first_page = pdf.pages[0]
|
|
82
|
+
tables = first_page.extract_tables()
|
|
81
83
|
except Exception as e:
|
|
82
|
-
print(f"❌ Une erreur est survenue lors de l'extraction des données du PDF.")
|
|
83
|
-
print("ℹ️ Cela peut être dû à l'absence de Java sur votre système, qui est requis par la bibliothèque 'tabula-py'.")
|
|
84
|
+
print(f"❌ Une erreur est survenue lors de l'extraction des données du PDF avec pdfplumber.")
|
|
84
85
|
print(f" Erreur originale : {e}")
|
|
85
86
|
return None
|
|
86
87
|
|
|
@@ -88,8 +89,10 @@ def get_detailed_results():
|
|
|
88
89
|
print("❌ Aucun tableau n'a été trouvé dans le PDF.")
|
|
89
90
|
return None
|
|
90
91
|
|
|
92
|
+
# Assuming the first table is the one we want
|
|
93
|
+
df = pd.DataFrame(tables[0][1:], columns=tables[0][0])
|
|
94
|
+
|
|
91
95
|
print(f"✅ {len(tables)} tableau(x) trouvé(s). Affichage du premier.")
|
|
92
|
-
df = tables[0]
|
|
93
96
|
print("\n--- Aperçu du tableau extrait (toutes colonnes) ---")
|
|
94
97
|
with pd.option_context('display.max_columns', None):
|
|
95
98
|
print(df)
|
|
@@ -171,6 +174,6 @@ if __name__ == "__main__":
|
|
|
171
174
|
"e_coli_npp_100ml",
|
|
172
175
|
"enterocoques_npp_100ml"
|
|
173
176
|
]])
|
|
174
|
-
# Export CSV
|
|
175
|
-
detailed_df.to_csv("
|
|
176
|
-
print("\n✅ Export CSV :
|
|
177
|
+
# Export CSV avec toutes les colonnes
|
|
178
|
+
detailed_df.to_csv("details_dernier_releve_full.csv", index=False)
|
|
179
|
+
print("\n✅ Export CSV : details_dernier_releve_full.csv")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: edb-noumea
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Scraper robuste pour la qualité des eaux de baignade à Nouméa. Ajout export CSV automatique et détection améliorée des colonnes PDF.
|
|
5
5
|
Project-URL: Homepage, https://github.com/adriens/edb-noumea
|
|
6
6
|
Project-URL: Repository, https://github.com/adriens/edb-noumea
|
|
@@ -8,6 +8,5 @@ Requires-Dist: requests
|
|
|
8
8
|
Requires-Dist: beautifulsoup4
|
|
9
9
|
Requires-Dist: pandas
|
|
10
10
|
Requires-Dist: lxml
|
|
11
|
-
Requires-Dist:
|
|
12
|
-
Requires-Dist: jpype1
|
|
11
|
+
Requires-Dist: pdfplumber
|
|
13
12
|
Requires-Dist: matplotlib
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "edb-noumea"
|
|
3
3
|
description = "Scraper robuste pour la qualité des eaux de baignade à Nouméa. Ajout export CSV automatique et détection améliorée des colonnes PDF."
|
|
4
|
-
version = "0.3.
|
|
4
|
+
version = "0.3.1"
|
|
5
5
|
dependencies = [
|
|
6
6
|
"requests",
|
|
7
7
|
"beautifulsoup4",
|
|
8
8
|
"pandas",
|
|
9
9
|
"lxml",
|
|
10
|
-
"
|
|
11
|
-
|
|
10
|
+
"pdfplumber",
|
|
11
|
+
|
|
12
|
+
|
|
12
13
|
"matplotlib",
|
|
13
14
|
]
|
|
14
15
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|