Esta es una utilidad Python3 para archivar historias interactivas de Writing.com.
Archivar una historia descargará cada capítulo de esa historia a ./archive/<story_id>/
como un conjunto de archivos HTML navegables que puede abrir en su navegador. Actualización de una historia descarga cualquier capítulo nuevo en el archivo.
Uso de la línea de comandos:
$ 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
El item_id para una historia está en su URL: http://www.writing.com/main/interact/item_id/$(THIS_IS_THE_ITEM_ID)/map/14411122
Para obtener la URL adecuada, primero ingrese su término de búsqueda en el cuadro de texto en la esquina superior izquierda de la página y presione Enter (o haga clic en la copa de aumento). Se lo llevará a la página de resultados de búsqueda. En esta página, verá su término de búsqueda en el centro superior. A la derecha de eso hay un menú desplegable que, por defecto, dice "cosas para leer". En ese menú desplegable, seleccione "Interactivos" y luego haga clic en el botón "Go" justo debajo. Todos los resultados ahora solo deberían ser interactivos. Finalmente, haga clic en el icono de lupa justo encima de los resultados para rehacer la búsqueda. Ahora su URL está en la forma correcta para Get_Search. No olvides citarlo con "".
Editar config.yaml primero con su nombre de usuario y contraseña para iniciar sesión
Se requieren python3 y los paquetes en requirements.txt
.
Puede encontrar errores al intentar descargar historias. Si el error no bloquea la utilidad, sugiero que intente descargarlo nuevamente, ya que algunos de los errores son transitorios. Pero hágame saber con qué historia/capítulo tuviste problemas y veré qué puedo hacer.
Si el error bloquea la utilidad, sugiero que vuelva a iniciar sesión. El mejor de los casos, ya sea que su inicio de sesión no tuvo éxito o Writing.com ha decidido dejar de servir su sesión. Elimine session
(¡no session.py
!) Y se le pedirá sus credenciales nuevamente. Tenga en cuenta que no le dirá si el inicio de sesión fue exitoso o no. Si todavía falla, avíseme.
Esta utilidad también se puede ejecutar en un contenedor. El contenedor maneja la instalación de todas las dependencias requeridas para ejecutar la utilidad.
$ 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
: este comando utilizará el archivo Docker-Compose.yml para construir el contenedor definido dentro del DockerFile. docker-compose run writing.com-archival
: este comando utilizará el archivo Docker-Compose.yml para ejecutar el contenedor Writing.com-Archival de manera interactiva en la sesión de shell actual. No use Git para Bash para ejecutar este comando.