これは、Writing.comからインタラクティブなストーリーをアーカイブするためのPython3ユーティリティです。
ストーリーをアーカイブすると、そのストーリーからすべての章を./archive/<story_id>/
にダウンロードして、ブラウザで開くことができる閲覧可能なHTMLファイルのセットとしてダウンロードされます。ストーリーの更新は、新しい章をアーカイブにダウンロードします。
コマンドラインの使用:
$ 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
ストーリーの項目はurlにあります: http://www.writing.com/main/interact/item_id/$(THIS_IS_THE_ITEM_ID)/map/14411122
this_is_item_id)/map/14411122
適切なURLを取得するには、最初にページの左上のテキストボックスに検索用語を入力し、Enterを押します(または拡大ガラスをクリックします)。検索結果ページに移動します。このページでは、検索用語がトップセンターで表示されます。その右側には、デフォルトで「読むべきもの」と書かれているドロップダウンがあります。そのドロップダウンで、「インタラクティブ」を選択し、そのすぐ下の[GO]ボタンをクリックします。すべての結果はインタラクティブのみである必要があります。最後に、結果のすぐ上の拡大ガラスアイコンをクリックして、検索をやり直します。これで、URLはget_searchの正しい形式になりました。 「」で引用することを忘れないでください。
ログインのためにユーザー名とパスワードで最初にconfig.yamlを編集します
python3とrequirements.txt
のパッケージが必要です。
ストーリーをダウンロードしようとしているときにエラーに遭遇する可能性があります。エラーがユーティリティをクラッシュしない場合は、エラーの一部が一時的であるため、もう一度ダウンロードしようとすることをお勧めします。しかし、あなたがどのようなストーリー/章に問題があったかを教えてください。私に何ができるかを見てください。
エラーがユーティリティをクラッシュさせる場合は、再度ログインすることをお勧めします。ログインが失敗したか、Writing.comがセッションの提供を停止することを決定したベストケースシナリオ。 session
を削除( session.py
!)では、資格情報をもう一度求められます。ログインが成功したかどうかはわかりません。それでも失敗した場合はお知らせください。
このユーティリティは、コンテナで実行することもできます。コンテナは、ユーティリティを実行するために必要なすべての依存関係をインストールします。
$ 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
このコマンドは、docker-compose.ymlファイルを使用して、dockerfile内で定義されたコンテナを構築します。 docker-compose run writing.com-archival
このコマンドは、Docker-Compose.ymlファイルを使用して、現在のシェルセッションでwrited.com-アーチバルコンテナをインタラクティブに実行します。このコマンドを実行するためにBashにGitを使用しないでください。