Este é um utilitário Python3 para arquivar histórias interativas do writing.com.
Arquivar uma história baixará todos os capítulos dessa história em ./archive/<story_id>/
como um conjunto de arquivos HTML navegáveis que você pode abrir no seu navegador. Atualizar uma história baixar quaisquer novos capítulos no arquivo.
Uso da linha de comando:
$ 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
O item_id para uma história está em seu URL: http://www.writing.com/main/interact/item_id/$(THIS_IS_THE_ITEM_ID)/map/14411122
)
Para obter o URL adequado, primeiro digite seu termo de pesquisa na caixa de texto no canto superior esquerdo da página e pressione Enter (ou clique na lupa). Você será levado para a página de resultados de pesquisa. Nesta página, você verá seu termo de pesquisa no centro superior. À direita disso está um suspensão que, por padrão, diz "coisas para ler". Nesse suspensão, selecione "Interatives" e clique no botão "Go" logo abaixo dele. Todos os resultados agora devem ser apenas interativos. Por fim, clique no ícone da lupa logo acima dos resultados para refazer a pesquisa. Agora seu URL está na forma correta para get_search. Não se esqueça de citá -lo com "".
Editar config.yaml primeiro com seu nome de usuário e senha para login
Python3 e os pacotes nos requirements.txt
são necessários.
Você pode encontrar erros enquanto tenta baixar histórias. Se o erro não travar o utilitário, sugiro tentar baixá -lo novamente, pois alguns dos erros são transitórios. Mas deixe -me saber com que história/capítulo você teve problemas e verei o que posso fazer.
Se o erro travar o utilitário, sugiro fazer login novamente. O melhor cenário do seu caso ou o seu login não teve sucesso ou Writing.com decidiu parar de servir sua sessão. Exclua session
(não session.py
!) E você será solicitado suas credenciais novamente. Observe que ele não informa se o login foi bem -sucedido ou não. Se ainda falhar, me avise.
Este utilitário também pode ser executado em um contêiner. O contêiner lida com a instalação de todas as dependências necessárias para a execução do utilitário.
$ 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 usará o arquivo Docker-compompose.yml para criar o contêiner definido dentro do Dockerfile. docker-compose run writing.com-archival
-Este comando usará o arquivo Docker-comppose.yml para executar o contêiner Writing.com-Arquival interativamente na sessão do shell atual. Não use o Git para o Bash para executar este comando.