Skip to main content

Scrape news as PDF.

Project description

news-scraper-pdf

Ce script récupère la dernière édition depuis Europresse au format PDF.
Il vient palier à l'interface d'Europresse non optimisée pour lire facilement un journal.

Description

Il est nécessaire de posséder un compte BNF pour s'y connecter.

Le script est développé en python en se basant sur Selenium.
Différentes options existent pour écrire le fichier PDF dans un dossier spécifique, ou directement dans un répertoire Nextcloud.

Installation

Installation via pip (recommandée)

Méthode d'installation simple qui convient à un usage normal.

[!NOTE] Pré-requis :

  • python3
  • pip

Installation depuis pip :

pip install news-scraper-pdf

Installation localement depuis git

[!NOTE] Pré-requis :

  • python3
  • pip
  • git
  • virtual env via pip install virtualenv (seulement avec un installation depuis git)
  1. Ouvrir un terminal.
  2. Récupérer le projet. git clone https://github.com/pressomanic/news-scraper-pdf.git
  3. Se placer dans le répertoire du projet. cd news-scraper-pdf
  4. Construire le projet avec venv. Recommandé pour tester. [Option 1]
    1. Créer le venv. python3 -m venv venv
    2. Se sourcer sur venv.
      • windows .\venv\Scripts\Activate.bat
      • linux source venv/bin/activate
    3. Installer les requirements. pip install -r requiements.txt
    4. Créer un package pour être disponible directement dans le pip du venv. pip install -e .
  5. Construire directement le projet avec la configuration globale python du système (no venv). [Option 2]
    1. Installer les requirements. pip install -r requiements.txt
    2. Créer un package pour être disponible directement dans le pip du venv. pip install -e .
  6. Le package est maintenant disponible localement dans pip. Tester avec news-scraper-pdf -h pour afficher l'aide.

Utilisation

Squelette

$ news-scraper-pdf --help                
usage: news-scraper-pdf [-h] [-e ENV] [-f FIRST_PAGES] [-v] [-n NEXTCLOUD_PATH] [-o OUTPUT_PATH] source

positional arguments:
  source                Source of media to find latest publication.

options:
  -h, --help            show this help message and exit
  -e ENV, --env ENV     Enable verbose mode
  -f FIRST_PAGES, --first-pages FIRST_PAGES
                        Get the first N pages.
  -v, --verbose         Enable verbose mode.
  -n NEXTCLOUD_PATH, --nextcloud-path NEXTCLOUD_PATH
                        Set Nextcloud upload directory path. Need to configure valid connection with --env
  -o OUTPUT_PATH, --output-path OUTPUT_PATH
                        Write file to a specific path.

Chercher un journal

Le script utilise la valeur dans l'argument source.
Il essaye de trouver la meilleure correspondance parmi les journaux disponibles.
Dans les logs du script (output dans la console), le score est affichée par rapport à la source.
Exemple pour la source égale à monde.

Found better score for "01 net" with score 36.
Found better score for "20 minutes" with score 40.
Found better score for "gourmand" with score 46.
Found better score for "monde campus, le" with score 48.
Found better score for "monde, le" with score 71.
Publication identified for "Monde, Le" from the given input "monde"

Le script essaye de trouver la meilleure correspondance, ici monde correspond à monde, le avec un score de 71.

Dans le cas où le journal trouver ne correspond, il faut vérifier la syntaxe saisie et si possible de rajouter des détails (comme "monde, le").

Configuration du fichier env

Le script a besoin d'avoir la configuration du compte BNF.
De même si l'envoie sur nextcloud est activé via l'option -n.
Ces configuration doivent être placées dans un fichier env. Ci-dessous un exemple :

# Mandatory 
BNF_LOGIN="your@email.fr"
BNF_PASSWORD="your-password"

# Optional to use nextcloud
NEXTCLOUD_URL="https://your.private.nextcloud"
NEXTCLOUD_USER="your-nextcloud-user"
NEXTCLOUD_PASSWORD="your-nextcloud-password"

Exemples

Récupérer l'édition du Monde

$ news-scraper-pdf -e .env monde

Récupérer l'édition du Monde dans un dossier spécifique

$ news-scraper-pdf -e .env -o my/specific/folder monde

Récupérer l'édition du Monde pour l'envoyer dans un répertoire Nextcloud

$ news-scraper-pdf -e .env -n my/specific/nextcloud monde

Récupérer l'édition du Monde avec seulement les 3 premières pages

$ news-scraper-pdf -e .env -f 3 monde

Liens

Disclaimer

Ce script utilise les fonctionnalités prévues nativement dans Europresse.
Il automatise certains "cliques" pour éviter des actions redondantes dans la lecture des journaux.
Aucun accès illégal à des ressources n'est réalisé.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

news_scraper_pdf-1.1.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

news_scraper_pdf-1.1.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file news_scraper_pdf-1.1.0.tar.gz.

File metadata

  • Download URL: news_scraper_pdf-1.1.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for news_scraper_pdf-1.1.0.tar.gz
Algorithm Hash digest
SHA256 4ec7ded6e2ca89cd6339b54603b230ff696b69503855c426b38e70e321914ae6
MD5 2c71a6b4a7babe148292eaedc09663ff
BLAKE2b-256 6fcf27ec90118c4f379cd65339f4d6b943ae3442ef8447efc292b75ede86c894

See more details on using hashes here.

File details

Details for the file news_scraper_pdf-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for news_scraper_pdf-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f3caec3172d97f96d339b5459b95ea4d15ec1fbf3ec80c7bf7bbf8bc2b5155e
MD5 692657c94402746017ab48e3684cb98d
BLAKE2b-256 30175bc034abe4c13888aa661fe6cf1e1e6b2dbcfc759e6d8fb09ba3c0d663d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page