Ini adalah utilitas Python3 untuk mengarsipkan cerita interaktif dari Writing.com.
Mengarsipkan sebuah cerita akan mengunduh setiap bab dari cerita itu ke ./archive/<story_id>/
sebagai satu set file html yang dapat dijelajahi yang dapat Anda buka di browser Anda. Memperbarui cerita mengunduh setiap bab baru ke dalam arsip.
Penggunaan baris perintah:
$ 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
Item_id untuk sebuah cerita ada di urlnya: http://www.writing.com/main/interact/item_id/$(THIS_IS_THE_ITEM_ID)/map/14411122
Untuk mendapatkan URL yang tepat, pertama -tama masukkan dalam istilah pencarian Anda ke dalam kotak teks di kiri atas halaman dan tekan Enter (atau klik kaca pembesar). Anda akan dibawa ke halaman Hasil Pencarian. Di halaman ini, Anda akan melihat istilah pencarian Anda di pusat teratas. Di sebelah kanan itu adalah dropdown yang secara default mengatakan "hal -hal yang harus dibaca". Pada dropdown itu, pilih "Interactives" dan kemudian klik tombol "GO" tepat di bawahnya. Semua hasil sekarang seharusnya hanya interaktif. Akhirnya, klik ikon kaca pembesar tepat di atas hasil untuk mengulang pencarian. Sekarang URL Anda berada dalam bentuk yang benar untuk get_search. Jangan lupa mengutipnya dengan "".
Edit config.yaml terlebih dahulu dengan nama pengguna dan kata sandi Anda untuk login
Python3 dan paket dalam requirements.txt
diperlukan.
Anda mungkin mengalami kesalahan saat mencoba mengunduh cerita. Jika kesalahan tidak merusak utilitas, saya sarankan mencoba mengunduhnya lagi, karena beberapa kesalahan bersifat sementara. Tapi beri tahu saya cerita/bab apa yang Anda sukai dan saya akan melihat apa yang dapat saya lakukan.
Jika kesalahan tidak merusak utilitas, saya sarankan masuk lagi. Skenario Kasus Terbaik Baik login Anda tidak berhasil atau Writing.com telah memutuskan untuk berhenti menjalani sesi Anda. Hapus session
(bukan session.py
!) Dan Anda akan diminta kredensial Anda lagi. Perhatikan bahwa itu tidak akan memberi tahu Anda apakah login berhasil atau tidak. Jika masih gagal, beri tahu saya.
Utilitas ini juga dapat dijalankan dalam wadah. Wadah menangani pemasangan semua dependensi yang diperlukan untuk menjalankan utilitas.
$ 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
-Perintah ini akan menggunakan file docker-compose.yml untuk membangun wadah yang ditentukan di dalam DockerFile. docker-compose run writing.com-archival
-Perintah ini akan menggunakan file Docker-Compose.yml untuk menjalankan wadah write.com-archival secara interaktif di sesi shell saat ini. Jangan gunakan git untuk bash untuk menjalankan perintah ini.