Il s'agit d'un utilitaire Python3 pour archiver des histoires interactives de Writing.com.
Archiver une histoire téléchargera chaque chapitre à partir de cette histoire en ./archive/<story_id>/
comme un ensemble de fichiers HTML navigables que vous pouvez ouvrir dans votre navigateur. La mise à jour d'une histoire télécharge tous les nouveaux chapitres dans les archives.
Utilisation de la ligne de commande:
$ cd <path-to-source>
$ pip install -r requirements.txt # Install dependencies
$ chmod +x run.py # If the following commands do not work
$ ./run.py get <id1> <id2>... # Downloads or updates interactives with item_ids <id1>, <id2>...
$ ./run.py get_search "<url1>" "<url2>"... # Downloads every interactive in these search results. See note below.
$ ./run.py update # Update existing archives
L'article_id pour une histoire est dans son URL: http://www.writing.com/main/interact/item_id/$(THIS_IS_THE_ITEM_ID)/map/14411122
Pour obtenir l'URL appropriée, entrez d'abord dans votre terme de recherche dans la zone de texte en haut à gauche de la page et appuyez sur Entrer (ou cliquez sur la loupe). Vous serez emmené sur la page des résultats de la recherche. Sur cette page, vous verrez votre terme de recherche au centre supérieur. À droite, il y a une liste déroulante qui dit par défaut "des choses à lire". Sur cette liste déroulante, sélectionnez "Interactives", puis cliquez sur le bouton "Go" juste en dessous. Tous les résultats ne devraient désormais être que des interactifs. Enfin, cliquez sur l'icône de la vitrail juste au-dessus des résultats pour refaire la recherche. Maintenant, votre URL est sous la forme correcte pour get_search. N'oubliez pas de le citer avec "".
Modifier la configuration.yaml d'abord avec votre nom d'utilisateur et votre mot de passe pour la connexion
Python3 et les packages dans requirements.txt
sont requis.
Vous pouvez rencontrer des erreurs tout en essayant de télécharger des histoires. Si l'erreur ne bloque pas l'utilitaire, je suggère d'essayer de le télécharger à nouveau, car certaines des erreurs sont transitoires. Mais faites-moi savoir avec quelle histoire / chapitre vous avez eu des problèmes et je verrai ce que je peux faire.
Si l'erreur écrase l'utilitaire, je suggère de se connecter à nouveau. Le meilleur scénario, soit votre connexion était insurciée ou Writing.com a décidé de cesser de servir votre session. Supprimer session
(pas session.py
!) Et vous serez à nouveau demandé de vos informations d'identification. Notez qu'il ne vous dira pas si la connexion a réussi ou non. Si cela échoue toujours, faites-le moi savoir.
Cet utilitaire peut également être exécuté dans un conteneur. Le conteneur gère l'installation de toutes les dépendances requises pour exécuter l'utilitaire.
$ cd < path-to-source >
$ docker-compose build
$ docker-compose run writing.com-archival
# After running the above commands, the command line arguments stay the same.
root@writing-com-archival:/code# ./run.py get < id 1> < id 2> ... # Downloads or updates interactives with item_ids <id1>, <id2>...
root@writing-com-archival:/code# ./run.py get_search " <url1> " " <url2> " ... # Downloads every interactive in these search results. See note below.
root@writing-com-archival:/code# ./run.py update # Update existing archives
docker-compose build
- Cette commande utilisera le fichier docker-compose.yml pour construire le conteneur défini à l'intérieur du dockerfile. docker-compose run writing.com-archival
- Cette commande utilisera le fichier docker-compose.yml pour exécuter le conteneur écriture.com-archival de manière interactive dans la session de shell actuelle. N'utilisez pas Git pour Bash pour exécuter cette commande.