Jetez facilement les recettes Cookidoo du site officiel
Ce programme vous permet de vider toutes les recettes sur des sites Web Cookidoo (disponibles pour différents pays) pour la lecture hors ligne et posticipe. Ces recettes sont valables en particulier pour les dispositifs thermomix / bimby. Afin de vider les recettes, un abonnement valide est nécessaire.
Le concept initial de ce programme était basé sur Jakubszalaty / Cookidoo-Parser.
Si vous avez l'intention d'étudier ou d'étendre scientifiquement Cookidump, veuillez envisager de citer l'article suivant.
@article{cambiaso2022cookidump,
title = {Web security and data dumping: The Cookidump case},
journal = {Software Impacts},
volume = {14},
pages = {100426},
year = {2022},
issn = {2665-9638},
doi = {https://doi.org/10.1016/j.simpa.2022.100426},
url = {https://www.sciencedirect.com/science/article/pii/S2665963822001105},
author = {Enrico Cambiaso and Maurizio Aiello},
keywords = {Cyber-security, Data dump, Database security, Browser automation},
abstract = {In the web security field, data dumping activities are often related to a malicious exploitation. In this paper, we focus on data dumping activities executed legitimately by scraping/storing data shown on the browser. We evaluate such operation by proposing Cookidump, a tool able to dump all recipes available on the Cookidoo© website portal. While such scenario is not relevant, in terms of security and privacy, we discuss the impact of such kind of activity for other scenarios including web applications hosting sensitive information.}
}
De plus amples informations peuvent être trouvées sur https://www.scieendirect.com/science/article/pii/S2665963822001105.
nix run github:auino/cookidump -- <outputdir> [--separate-json]
Nix provisionne google-chrome
avec chromedriver
. Seuls les arguments <outputdir>
et [--separate-json]
sont attendus.
git clone https://github.com/auino/cookidump.git
cd
dans le dossier de téléchargement
Installez les exigences de Python:
pip install -r requirements.txt
Installez le navigateur Google Chrome, sinon déjà installé
Téléchargez le Chrome WebDriver et enregistrez-le sur le dossier cookidump
Vous êtes prêt à vider vos recettes
Exécutez simplement la commande suivante pour démarrer le programme. Le programme est interactif pour simplifier son utilisation.
python cookidump.py [--separate-json] <webdriverfile> <outputdir>
où:
webdriverfile
identifie le chemin d'accès au Chrome WebDriver Chrome (par exemple, chromedriver.exe
pour les hôtes Windows, ./chromedriver
pour les hôtes Linux et MacOS)outputdir
identifie le chemin du répertoire de sortie (sera créé, sinon déjà existant)--separate-json
permet de générer un fichier JSON distinct pour chaque recette, au lieu d'un fichier agrégé, y compris toutes les recettesLe programme ouvrira une fenêtre Google Chrome et attendra que vous soyez connecté à votre compte Cookidoo (différents pays sont pris en charge).
Après cela, suivez les Intrands fournies par le script lui-même pour poursuivre le vidage.
En suivant les instructions de script, il est également possible d'appliquer des filtres personnalisés pour exporter des recettes sélectionnées (par exemple, à la base du plat, le titre et les ingrédients, la version thermomix / bimby, etc.).
La sortie est représentée par un fichier index.html
, inclus dans outputdir
, plus un ensemble de recettes à l'intérieur de dossiers structurés. En ouvrant le fichier index.html
généré sur votre navigateur, il est possible d'avoir une liste de recettes téléchargées et surfée sur la recette souhaitée.
Le nombre de recettes exportées est limitée à environ 1000
pour chaque exécution. Par conséquent, l'utilisation des filtres peut aider dans ce cas à réduire le nombre de recettes exportées.
Une approche différente, précédemment adoptée, est basée sur la récupération des données structurées sur les recettes. Plus d'informations peuvent être trouvées sur la succursale de données. La sortie est représentée dans ce cas dans un format différent (structuré), par conséquent, il doit être interprété. Une telle interprétation n'est pas mise en œuvre dans le commit précédent lié.
Les auteurs de ce programme ne sont pas responsables de son utilisation. Ce programme est publié uniquement à des fins de recherche et de diffusion. En outre, le programme offre aux utilisateurs la possibilité de stocker localement et temporairement les recettes accessibles via un abonnement légitime. Avant d'utiliser ce programme, consultez les conditions d'utilisation de l'abonnement à Cookidoo, selon le pays lié à l'abonnement exploité. Le partage des recettes obtenues n'est pas une activité légitime et les auteurs de ce programme ne sont pas responsables de toute activité d'ilécit et de partage accompli par les utilisateurs.
Vous pouvez me trouver sur Twitter en tant que @auino.