diff --git a/gen.sh b/gen.sh new file mode 100755 index 0000000..7dfc12c --- /dev/null +++ b/gen.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# Configuration +DUMP_DIR="dump" +OUTPUT_DIR="output" +TEX_CMD="pdflatex" + +# Create output directory if it doesn't exist +mkdir -p "$OUTPUT_DIR" + +# Check if dump directory exists +if [ ! -d "$DUMP_DIR" ]; then + echo "Error: $DUMP_DIR directory does not exist" + exit 1 +fi + +# Process all .tex files in the dump directory +echo "Processing .tex files from $DUMP_DIR..." +for tex_file in "$DUMP_DIR"/*.tex; do + # Check if there are any .tex files + if [ ! -f "$tex_file" ]; then + echo "No .tex files found in $DUMP_DIR" + exit 0 + fi + + filename=$(basename "$tex_file") + echo "Processing $filename..." + + # Run pdflatex + $TEX_CMD -output-directory="$OUTPUT_DIR" "$tex_file" + + # Check if successful + if [ $? -eq 0 ]; then + echo "Successfully generated PDF for $filename" + else + echo "Error generating PDF for $filename" + fi +done + +echo "All processing complete. Output files are in $OUTPUT_DIR" \ No newline at end of file diff --git a/grab.py b/grab.py index 55fea10..8b48093 100644 --- a/grab.py +++ b/grab.py @@ -29,6 +29,10 @@ class Part: class Chapitre: def __init__(self, title, url=None): + if ':' in title: + title = title.split(':')[1].strip() + title = title.lower() + title = title[0].upper() + title[1:] if title else "" self.title = title self.parts = [] self.url = url @@ -124,7 +128,26 @@ class LatexFile: self.add_footer() self.save() -def fetch_chapitre(quoi): +def parse(content): + soup2 = BeautifulSoup(str(content), 'lxml') + for tag in soup2.find_all(['span', 'a', 'img']): + tag.extract() + questions = [] + ol_list = soup2.find('ol', class_='enumeratechiffre') + + if ol_list: + for i, li in enumerate(ol_list.find_all('li'), 1): + if i == 1: + # Add a line break before the first question + questions.append("\\par") + questions.append(f"{i}. {li.get_text().strip()}") + list_text = "\n\n".join(questions) + ol_list.replace_with(list_text) + + content = soup2.get_text().strip() + return content + +def fetch_chapitre(page): headers = { 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8', 'accept-language': 'fr-FR,fr;q=0.7', @@ -142,12 +165,7 @@ def fetch_chapitre(quoi): 'upgrade-insecure-requests': '1', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', } - params = { - 'action': 'affiche', - 'quoi': quoi, - 'type': 'fexo', - } - response = requests.get('https://bibmath.net/ressources/index.php', headers=headers, params=params) + response = requests.get(page, headers=headers) if response.status_code == 200: soup = BeautifulSoup(response.text, 'lxml') article = soup.find('article', id='contenugauche') @@ -175,20 +193,16 @@ def fetch_chapitre(quoi): stars_count = len(exo_title_div.find_all('img')) - enonce = element.find('div', class_='enonce').find('div', class_='inner').get_text(strip=True) - if ".Existe-t" in enonce: - print(element) + enonce = element.find('div', class_='enonce').find('div', class_='inner') + enonce = parse(enonce) + indication_div = element.find('div', class_='indication') - indication = ( - indication_div.find('div', class_='inner').get_text(strip=True) - if indication_div else "No indication" - ) + indication = indication_div.find('div', class_='inner') + indication = parse(indication) answer_div = element.find('div', class_='corrige') - answer = ( - answer_div.find('div', class_='inner').get_text(strip=True) - if answer_div else "No answer" - ) + answer = answer_div.find('div', class_='inner') + answer = parse(answer) exercise = Exercise( number=exercise_number, @@ -207,9 +221,17 @@ def fetch_chapitre(quoi): else: print(f"Request failed with status code: {response.status_code}") -quoi = 'mpsi/feuillesexo/matrices' -chapitre = fetch_chapitre(quoi) +def get_page(page): + chapitre = fetch_chapitre(page) + title = chapitre.title + latex_file = LatexFile(f'dump/{title}.tex') + latex_file.generate_latex(chapitre) + print(f"LaTeX file generated: dump/{title}.tex") -latex_file = LatexFile('file.tex') -latex_file.generate_latex(chapitre) -print("LaTeX file generated: file.tex") \ No newline at end of file +if __name__ == "__main__": + # page = "https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/prehilbert&type=fexo" + # get_page(page) + with open('pages.txt', 'r') as f: + for line in f: + page = line.strip() + get_page(page) \ No newline at end of file diff --git a/pages_spé.txt b/pages_spé.txt new file mode 100644 index 0000000..dbf7c60 --- /dev/null +++ b/pages_spé.txt @@ -0,0 +1,19 @@ +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/groupe&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/anneau&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/alglin&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/reduction&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/polynomeendomorphisme&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/endoeuclidien&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/evn&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/topoevn&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/complementstopo&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/vectorielle&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/integralesimpropres&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/foncdefintegrales&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/serie&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/suiserfonc&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/serieent&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/equadiffs&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/calculdiff&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/espacesproba&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mathspe/feuillesexo/vadiscrete&type=fexo \ No newline at end of file diff --git a/pages_sup.txt b/pages_sup.txt new file mode 100644 index 0000000..e02f987 --- /dev/null +++ b/pages_sup.txt @@ -0,0 +1,34 @@ +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/logique&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/ensembleapplicationrelation&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/calculalgebrique&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/systemeslineaires&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/inegalites&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/trigo&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/complexes&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/foncusu&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/primitives&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/equadiffs&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/reels&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/suites&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/limitecontinuite&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/derivee&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/convexe&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/arithmetique&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/matrices&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/groupeanneaucorps&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/polynomes&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/fracrat&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/compafonctions&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/dls&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/integration&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/series&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/famillessommables&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/ev&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/dimfinie&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/al&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/matricesal&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/determinant&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/prehilbert&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/denombrement&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/espaceproba&type=fexo +https://bibmath.net/ressources/index.php?action=affiche&quoi=mpsi/feuillesexo/va&type=fexo \ No newline at end of file diff --git a/spé/Endomorphismes des espaces euclidiens.pdf b/spé/Endomorphismes des espaces euclidiens.pdf new file mode 100644 index 0000000..e7412f3 Binary files /dev/null and b/spé/Endomorphismes des espaces euclidiens.pdf differ diff --git a/spé/Exercices de compléments d'algèbre linéaire.pdf b/spé/Exercices de compléments d'algèbre linéaire.pdf new file mode 100644 index 0000000..9a4967b Binary files /dev/null and b/spé/Exercices de compléments d'algèbre linéaire.pdf differ diff --git a/spé/Exercices sur compacité, connexité par arcs, espaces vectoriels normés de dimension finie.pdf b/spé/Exercices sur compacité, connexité par arcs, espaces vectoriels normés de dimension finie.pdf new file mode 100644 index 0000000..a231167 Binary files /dev/null and b/spé/Exercices sur compacité, connexité par arcs, espaces vectoriels normés de dimension finie.pdf differ diff --git a/spé/Exercices sur la réduction d'endomorphismes.pdf b/spé/Exercices sur la réduction d'endomorphismes.pdf new file mode 100644 index 0000000..895c318 Binary files /dev/null and b/spé/Exercices sur la réduction d'endomorphismes.pdf differ diff --git a/spé/Exercices sur la topologie des espaces vectoriels normés.pdf b/spé/Exercices sur la topologie des espaces vectoriels normés.pdf new file mode 100644 index 0000000..fd99c92 Binary files /dev/null and b/spé/Exercices sur la topologie des espaces vectoriels normés.pdf differ diff --git a/spé/Exercices sur le calcul différentiel.pdf b/spé/Exercices sur le calcul différentiel.pdf new file mode 100644 index 0000000..a5a6808 Binary files /dev/null and b/spé/Exercices sur le calcul différentiel.pdf differ diff --git a/spé/Exercices sur les anneaux.pdf b/spé/Exercices sur les anneaux.pdf new file mode 100644 index 0000000..c78b379 Binary files /dev/null and b/spé/Exercices sur les anneaux.pdf differ diff --git a/spé/Exercices sur les espaces probabilisés.pdf b/spé/Exercices sur les espaces probabilisés.pdf new file mode 100644 index 0000000..e5207c6 Binary files /dev/null and b/spé/Exercices sur les espaces probabilisés.pdf differ diff --git a/spé/Exercices sur les espaces vectoriels normés.pdf b/spé/Exercices sur les espaces vectoriels normés.pdf new file mode 100644 index 0000000..e98ecae Binary files /dev/null and b/spé/Exercices sur les espaces vectoriels normés.pdf differ diff --git a/spé/Exercices sur les fonctions intégrables.pdf b/spé/Exercices sur les fonctions intégrables.pdf new file mode 100644 index 0000000..3ce5665 Binary files /dev/null and b/spé/Exercices sur les fonctions intégrables.pdf differ diff --git a/spé/Exercices sur les fonctions à valeurs vectorielles.pdf b/spé/Exercices sur les fonctions à valeurs vectorielles.pdf new file mode 100644 index 0000000..80feb79 Binary files /dev/null and b/spé/Exercices sur les fonctions à valeurs vectorielles.pdf differ diff --git a/spé/Exercices sur les intégrales à paramètres.pdf b/spé/Exercices sur les intégrales à paramètres.pdf new file mode 100644 index 0000000..66a0b79 Binary files /dev/null and b/spé/Exercices sur les intégrales à paramètres.pdf differ diff --git a/spé/Exercices sur les polynômes d'endomorphismes.pdf b/spé/Exercices sur les polynômes d'endomorphismes.pdf new file mode 100644 index 0000000..5a90ed7 Binary files /dev/null and b/spé/Exercices sur les polynômes d'endomorphismes.pdf differ diff --git a/spé/Exercices sur les suites et séries de fonctions.pdf b/spé/Exercices sur les suites et séries de fonctions.pdf new file mode 100644 index 0000000..9ee1f2d Binary files /dev/null and b/spé/Exercices sur les suites et séries de fonctions.pdf differ diff --git a/spé/Exercices sur les séries entières.pdf b/spé/Exercices sur les séries entières.pdf new file mode 100644 index 0000000..de707ba Binary files /dev/null and b/spé/Exercices sur les séries entières.pdf differ diff --git a/spé/Exercices sur les séries.pdf b/spé/Exercices sur les séries.pdf new file mode 100644 index 0000000..5bc01a5 Binary files /dev/null and b/spé/Exercices sur les séries.pdf differ diff --git a/spé/Exercices sur les variables aléatoires discrètes.pdf b/spé/Exercices sur les variables aléatoires discrètes.pdf new file mode 100644 index 0000000..c711ef6 Binary files /dev/null and b/spé/Exercices sur les variables aléatoires discrètes.pdf differ diff --git a/spé/Exercices sur les équations différentielles.pdf b/spé/Exercices sur les équations différentielles.pdf new file mode 100644 index 0000000..4f0503d Binary files /dev/null and b/spé/Exercices sur les équations différentielles.pdf differ diff --git a/spé/Groupes.pdf b/spé/Groupes.pdf new file mode 100644 index 0000000..089a8ef Binary files /dev/null and b/spé/Groupes.pdf differ diff --git a/sup/Applications linéaires.pdf b/sup/Applications linéaires.pdf new file mode 100644 index 0000000..cbfd47c Binary files /dev/null and b/sup/Applications linéaires.pdf differ diff --git a/sup/Arithmétique.pdf b/sup/Arithmétique.pdf new file mode 100644 index 0000000..1ad9f1a Binary files /dev/null and b/sup/Arithmétique.pdf differ diff --git a/sup/Calcul algébrique.pdf b/sup/Calcul algébrique.pdf new file mode 100644 index 0000000..5cb9b07 Binary files /dev/null and b/sup/Calcul algébrique.pdf differ diff --git a/sup/Calcul matriciel.pdf b/sup/Calcul matriciel.pdf new file mode 100644 index 0000000..a9b99ce Binary files /dev/null and b/sup/Calcul matriciel.pdf differ diff --git a/sup/Calculs de primitives et techniques élémentaires de calcul intégral.pdf b/sup/Calculs de primitives et techniques élémentaires de calcul intégral.pdf new file mode 100644 index 0000000..c9514f2 Binary files /dev/null and b/sup/Calculs de primitives et techniques élémentaires de calcul intégral.pdf differ diff --git a/sup/Comparaison des suites et des fonctions.pdf b/sup/Comparaison des suites et des fonctions.pdf new file mode 100644 index 0000000..a230d45 Binary files /dev/null and b/sup/Comparaison des suites et des fonctions.pdf differ diff --git a/sup/Dénombrement.pdf b/sup/Dénombrement.pdf new file mode 100644 index 0000000..cdec40d Binary files /dev/null and b/sup/Dénombrement.pdf differ diff --git a/sup/Dérivabilité.pdf b/sup/Dérivabilité.pdf new file mode 100644 index 0000000..9b28fe0 Binary files /dev/null and b/sup/Dérivabilité.pdf differ diff --git a/sup/Développements limités.pdf b/sup/Développements limités.pdf new file mode 100644 index 0000000..1dc0c0b Binary files /dev/null and b/sup/Développements limités.pdf differ diff --git a/sup/Ensembles, applications,relations.pdf b/sup/Ensembles, applications,relations.pdf new file mode 100644 index 0000000..bbe5299 Binary files /dev/null and b/sup/Ensembles, applications,relations.pdf differ diff --git a/sup/Espaces préhilbertiens et euclidiens.pdf b/sup/Espaces préhilbertiens et euclidiens.pdf new file mode 100644 index 0000000..7a42021 Binary files /dev/null and b/sup/Espaces préhilbertiens et euclidiens.pdf differ diff --git a/sup/Espaces vectoriels de dimension finie.pdf b/sup/Espaces vectoriels de dimension finie.pdf new file mode 100644 index 0000000..6070097 Binary files /dev/null and b/sup/Espaces vectoriels de dimension finie.pdf differ diff --git a/sup/Espaces vectoriels.pdf b/sup/Espaces vectoriels.pdf new file mode 100644 index 0000000..d49cf7d Binary files /dev/null and b/sup/Espaces vectoriels.pdf differ diff --git a/sup/Exercices sur les familles sommables.pdf b/sup/Exercices sur les familles sommables.pdf new file mode 100644 index 0000000..19ada03 Binary files /dev/null and b/sup/Exercices sur les familles sommables.pdf differ diff --git a/sup/Exercies sur les nombres réels.pdf b/sup/Exercies sur les nombres réels.pdf new file mode 100644 index 0000000..8fc2cb0 Binary files /dev/null and b/sup/Exercies sur les nombres réels.pdf differ diff --git a/sup/Fonctions convexes.pdf b/sup/Fonctions convexes.pdf new file mode 100644 index 0000000..b8b93a2 Binary files /dev/null and b/sup/Fonctions convexes.pdf differ diff --git a/sup/Fonctions usuelles.pdf b/sup/Fonctions usuelles.pdf new file mode 100644 index 0000000..50c13e3 Binary files /dev/null and b/sup/Fonctions usuelles.pdf differ diff --git a/sup/Fractions rationnelles.pdf b/sup/Fractions rationnelles.pdf new file mode 100644 index 0000000..30f42fd Binary files /dev/null and b/sup/Fractions rationnelles.pdf differ diff --git a/sup/Groupe symétrique et déterminant.pdf b/sup/Groupe symétrique et déterminant.pdf new file mode 100644 index 0000000..7a618df Binary files /dev/null and b/sup/Groupe symétrique et déterminant.pdf differ diff --git a/sup/Groupes, anneaux, corps.pdf b/sup/Groupes, anneaux, corps.pdf new file mode 100644 index 0000000..d6a2479 Binary files /dev/null and b/sup/Groupes, anneaux, corps.pdf differ diff --git a/sup/Intégrale d'une fonction continue sur un segment.pdf b/sup/Intégrale d'une fonction continue sur un segment.pdf new file mode 100644 index 0000000..38d3961 Binary files /dev/null and b/sup/Intégrale d'une fonction continue sur un segment.pdf differ diff --git a/sup/Inégalités.pdf b/sup/Inégalités.pdf new file mode 100644 index 0000000..5ca1434 Binary files /dev/null and b/sup/Inégalités.pdf differ diff --git a/sup/Limite de fonctions - continuité.pdf b/sup/Limite de fonctions - continuité.pdf new file mode 100644 index 0000000..eebc8f8 Binary files /dev/null and b/sup/Limite de fonctions - continuité.pdf differ diff --git a/sup/Matrices et applications linéaires.pdf b/sup/Matrices et applications linéaires.pdf new file mode 100644 index 0000000..f627941 Binary files /dev/null and b/sup/Matrices et applications linéaires.pdf differ diff --git a/sup/Nombres complexes.pdf b/sup/Nombres complexes.pdf new file mode 100644 index 0000000..6010e49 Binary files /dev/null and b/sup/Nombres complexes.pdf differ diff --git a/sup/Polynômes.pdf b/sup/Polynômes.pdf new file mode 100644 index 0000000..ed69a5a Binary files /dev/null and b/sup/Polynômes.pdf differ diff --git a/sup/Probabilités sur un univers fini.pdf b/sup/Probabilités sur un univers fini.pdf new file mode 100644 index 0000000..6d76edd Binary files /dev/null and b/sup/Probabilités sur un univers fini.pdf differ diff --git a/sup/Rudiments de logique.pdf b/sup/Rudiments de logique.pdf new file mode 100644 index 0000000..c3c3893 Binary files /dev/null and b/sup/Rudiments de logique.pdf differ diff --git a/sup/Suites de nombres réels et complexes.pdf b/sup/Suites de nombres réels et complexes.pdf new file mode 100644 index 0000000..03efe6c Binary files /dev/null and b/sup/Suites de nombres réels et complexes.pdf differ diff --git a/sup/Systèmes linéaires.pdf b/sup/Systèmes linéaires.pdf new file mode 100644 index 0000000..fb43835 Binary files /dev/null and b/sup/Systèmes linéaires.pdf differ diff --git a/sup/Séries numériques.pdf b/sup/Séries numériques.pdf new file mode 100644 index 0000000..85dee13 Binary files /dev/null and b/sup/Séries numériques.pdf differ diff --git a/sup/Trigonométrie.pdf b/sup/Trigonométrie.pdf new file mode 100644 index 0000000..2f96f91 Binary files /dev/null and b/sup/Trigonométrie.pdf differ diff --git a/sup/Variables aléatoires finies.pdf b/sup/Variables aléatoires finies.pdf new file mode 100644 index 0000000..653ef9c Binary files /dev/null and b/sup/Variables aléatoires finies.pdf differ diff --git a/sup/Équations différentielles linéaires.pdf b/sup/Équations différentielles linéaires.pdf new file mode 100644 index 0000000..0eaedae Binary files /dev/null and b/sup/Équations différentielles linéaires.pdf differ