O robô serve para automatizar o processo de submissão de um artigo para a plataforma Wordpress. Utiliza Python, Selenium, Beautiful Soup, entre outras tecnologias.
- O robô verifica a pasta converted
- O robô lê um arquivo em HTML e extrai de lá informações, como o título do artigo, os parágrafos e referências.
- O sistema abre o navegador e busca o vídeo do verve no Youtube relacionado ao título, extraindo dele o link, o título e a imagem de capa. A imagem é salva para a pasta images.
- O sistema acesa o Wikimedia Commons no navegador, busca pelo título do artigo. Caso apareça a opção "você quis dizer?", o sistema aceita a sugestão. Então, são extraídos os links das primeiras fotos da busca.
- O sistema faz requisições sem a utilização do navegador para buscar no site Pensador a frase mais compartilhada do autor (título do artigo). Caso haja frases cadastradas, o sistema adiciona o site como referência.
- O artigo é montado como um arquivo HTML que obedece a um template padronizado utilizando as informações extraídas.
- O sistema utiliza o navegador para entrar na plataforma do blog, faz o login, verifica a página de postagens e duplica a segunda postagem listada e faz algumas edições rápidas
- O sistema abre a edição do post no navegador, muda o modo de edição para o modo código, copia e cola o artigo montado, e salva pela primeira vez o rascunho. Então submete a foto do Youtube como foto de miniatura, cria um SEO, uma metadescrição e salva novamente o rascunho.
- O sistema processa o próximo arquivo
Todos os scripts descritos nessa documentação presumem que serão executados na mesma pasta que está essa documentação. Recomenda-se abrir este projeto no Visual Studio Code e abrir o terminal integrado antes de se executar os comandos.
Todos os comandos foram testados no Linux, no Ubuntu.
Antes de tudo, é preciso que o Python 3 esteja instalado. Siga esse tutorial de instalação caso não tenha instalado.
Usuários mais avançados de Python podem, opcionalmente, utilizar um ambiente virtual.
Instale as dependências do projeto, com o seguinte comando no terminal
pip3 install -r requirements.txt
ou
pip install -r requirements.txt
Como o projeto utiliza o pyperclip para copiar (equivalente ao famoso Ctrl + C), se atente à seguintes restrições:
Faz uso do xclip ou xsel. Garanta a instalação de um deles rodando no terminal (no caso do Ubuntu/Debian)
sudo apt install xclip
ou
sudo apt install xsel
Faz uso dos comandos pbcopy e pbpaste, que devem vir instalados no navegador
Não é necessário nenhum módulo adicional
Utilizado para converter o artigo do formato do Word para HTML.
Baixe o instalador para o seu sistema operacional e o execute para instalar.
Imagine que o arquivo de entrada se chame euclides.docx e esteja dentro da pasta input. Para converter o documento e adicioná-lo na pasta converted (que precisa existir previamente), execute o comando abaixo. Atenção:
- Os nomes dos arquivos não devem possuir espaços
- No Windows, as barras "/" devem estar invertidas ""
pandoc -f docx input/euclides.docx -t html -o converted/euclides.html
Para processar um lote de arquivos que estão dentro da pasta input para colocá-los dentro da pasta converted (que não precisa estar previamente criada), execute o script bash abaixo. Para rodar script bash no Windows, execute em um terminal que interprete bash, como o git Bash (veja Como instalar Git Bash no Windows )
mkdir -p converted #Cria pasta converted
for f in input/*; do mv "$f" "${f// /_}" 2>/dev/null; done #Troca espaços por _ em nomes de arquivos
for file in input/*; do #Itera em todos os arquivos
name=$(echo "$file" | cut -f 1 -d '.') #Nome do arquivo sem a extensão
cat $file | pandoc -f docx -t html > $name.html #Conversão do arquivo
done
mv input/*.html converted/. #Move arquivos gerados para pasta converted
-
É preciso ter o Chrome instalado na máquina
-
Arquivo de ambiente
Para ser fácil alterar as senhas, caso necessário, isolamos as senhas em um arquivo que denominamos ".env" que deve ser colocado na mesma pasta que esta documentação. Deve ser preenchido desta maneira:
VERVE_LOGIN="insira o login aqui"
VERVE_PASSWORD="insira a senha aqui"
TEMPLATES="src/templates"
IMAGES="images"
As pastas templates e images são configuráveis, podendo ser configuradas nesse arquivo .env
- Criação da pasta de imagens
Crie a pasta de imagens, onde serão baixadas as imagens da thumbnail dos vídeos. O nome desta pasta deverá ser images, e deverá estar na mesma pasta que esta documentação. No terminal shell, essa criação pode ser feita através do seguinte comando
mkdir -p images
Rode o seguinte comando:
python3 src/robot.py
ou
python src/robot.py