Dies ist ein Python3 -Dienstprogramm zur Archivierung interaktiver Geschichten von Writing.com.
Das Archivieren einer Geschichte wird jedes Kapitel aus dieser Geschichte in ./archive/<story_id>/
als eine Reihe von durch Browsbare HTML -Dateien, die Sie in Ihrem Browser öffnen, herunterladen. Das Aktualisieren einer Geschichte lädt neue Kapitel in das Archiv herunter.
Befehlszeilenverbrauch:
$ 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
Die Item_id für eine Geschichte http://www.writing.com/main/interact/item_id/$(THIS_IS_THE_ITEM_ID)/map/14411122
Um die richtige URL zu erhalten, geben Sie zuerst Ihren Suchbegriff in das Textfeld oben links auf der Seite ein und drücken Sie die Eingabetaste (oder klicken Sie auf das Vergrößerungsglas). Sie werden zur Seite der Suchergebnisse gebracht. Auf dieser Seite sehen Sie Ihren Suchbegriff in der oberen Mitte. Auf dem Wählen Sie bei diesem Dropdown "Interactive" und klicken Sie dann direkt darunter auf die Schaltfläche "GO". Alle Ergebnisse sollten nun nur Interaktive sein. Klicken Sie schließlich auf das Lupe -Glas -Symbol direkt über den Ergebnissen, um die Suche wieder zu wiederholen. Jetzt ist Ihre URL in der richtigen Form für get_search. Vergessen Sie nicht, es mit "" zu zitieren.
Bearbeiten Sie Config.yaml zuerst mit Ihrem Benutzernamen und Passwort für die Anmeldung
Python3 und die Pakete in requirements.txt
sind erforderlich.
Sie können auf Fehler stoßen, während Sie versuchen, Geschichten herunterzuladen. Wenn der Fehler das Dienstprogramm nicht zum Absturz bringt, schlage ich vor, ihn erneut herunterzuladen, da einige der Fehler vorübergehend sind. Aber lassen Sie mich wissen, mit welcher Geschichte/dem Kapitel Sie Probleme hatten, und ich werde sehen, was ich tun kann.
Wenn der Fehler das Dienstprogramm abstürzt, schlage ich vor, sich erneut anzumelden. Das Beste -Szenario entweder Ihr Login war nicht erfolglos oder writing.com hat beschlossen, Ihre Sitzung nicht mehr zu bedienen. Löschen Sie session
(nicht session.py
!) Und Sie werden erneut nach Ihren Anmeldeinformationen gefragt. Beachten Sie, dass Sie nicht sagen werden, ob das Login erfolgreich war oder nicht. Wenn es immer noch fehlschlägt, lassen Sie es mich wissen.
Dieses Dienstprogramm kann auch in einem Behälter ausgeführt werden. Der Container behandelt die Installation aller erforderlichen Abhängigkeiten für die Ausführung des Dienstprogramms.
$ 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
-Mit diesem Befehl wird die Datei docker-compose.yml verwendet, um den in der Dockerfile definierten Container zu erstellen. docker-compose run writing.com-archival
-Mit diesem Befehl wird die Datei docker-compose.yml verwendet, um den Container writes.com-archival in der aktuellen Shell-Sitzung interaktiv auszuführen. Verwenden Sie Git nicht für Bash, um diesen Befehl auszuführen.