Giter Site home page Giter Site logo

thiagonelsi / wikipedia-to-document Goto Github PK

View Code? Open in Web Editor NEW
12.0 2.0 3.0 649 KB

This project collects Wikipedia articles from a search term entered by the user and formats the data into a .docx (Word Document) document with images related to each section of the collected article.

License: MIT License

JavaScript 100.00%
wikipedia wikipedia-api wikipedia-scraper microsoft-word microsoft-word-automation ibm-watson ibm google-cloud-platform google-custom-search docx

wikipedia-to-document's Introduction

Wikipedia Content Getter

This project collects Wikipedia articles from a search term entered by the user and formats the data in a .docx document with images related to each section of the collected article.

This project is inspired by the Video Maker project by Filipe Deschamps

APIs

All the project is made with NodeJS and uses the following APIs:

Main dependencies

How to use

You can use this app by running the index.js file and typing a search term, after this you just need to select a language and wait for the app end the process.

At the end of the process a folder will be created at the root of the project with the same name as the search term containing the .docx document and a folder with the images.

Como conseguir as credenciais e API keys (Portuguese)

Por Hebert Lima

Api: Algorithmia

É necessário criar a sua chave de acesso para poder testar os robôs, pra isso você precisa acessar o site do Algorithmia, aqui não tem muito segredo, basta acessar e se cadastrar, depois de logar na sua conta, na Dashboard procure no menu Api Keys e copie.

Algorithmin

vá até a pasta do projeto onde você clonou o repositório, navegue até a pasta credentials, dentro do arquivo algorithmia.json você irá colocar a API que copiou do site Algorithmia na estrutura abaixo:

{
  "apiKey": "API_KEY_AQUI"
}

Api: Watson

Você precisa criar também as credenciais do Watson no site da IBM, também não tem segredo, basta se cadastrar, quando estiver logado no menu superior clique em Catálogo, depois dentro de IA procure por Natural Language Understanding

IBM

clicando nele na nova página vai aparecer um botão "criar" no final da página, uma vez que o serviço for criado, você será redirecionado para a página de gerenciamento do serviço que você acabou de criar, no menu lateral esquerdo procure por Credenciais de Serviços e depois clique em Auto-generated service credentials destacado abaixo, então copie as Credenciais:

IBM

Novamente, voltando na pasta do projeto ainda dentro da pasta credentials você ira encontrar um arquivo json com o nome nlu-watson.json e dentro desse arquivo você vai colar as credenciais que copiou anteriormente:

{
  "apikey" : "...",
  "iam_apikey_description" : "...",
  "iam_apikey_name": "...",
  "iam_role_crn": "...",
  "iam_serviceid_crn": "...",
  "url": "..."
}

Setup: Google Cloud Plataform

Antes de criarmos as api's que iremos utilizar é necessário vincular a nossa conta do Google com o Google Cloud Plataform, na página do Google Cloud Plataform você irá clicar no botão Faça uma Avaliação Gratuita:

google-cloud

em seguida marque a opção Termos e Condições

google-cloud-step1

Ps.: É importante lembrar que alguns recursos do Google Cloud Plataform são Pagos, por esse motivo é necessário inserir as informações de pagamento, mas fique tranquilo porque iremos utilizar apenas os recursos Gratuitos

google-cloud-pay

Criando o Projeto

Agora é a hora de criarmos um projeto que iremos vincular as Api's que vamos utilizar, para isso basta clicar no menu do topo da página "Selecionar projeto" e depois em "Novo Projeto":

image

de um nome ao projeto e clique no botão criar:

image

após isso o projeto começará a ser criado e assim que terminar um menu vai aparecer com o projeto que acabamos de criar então você irá seleciona-lo:

image

Api: Custom Search API

Com o projeto criado agora é hora de habilitarmos e configurarmos a Api, você irá clicar no menu lateral esquerdo no topo navegar até API's e Serviços > Bibliotecas:

image

no campo de pesquisa basta procurar por Custom Search API, clicar em Ativar, e aguardar até a ativação da api:

image

Após a ativação vai aparecer uma mensagem solicitando a criação das credenciais da API, então basta você clicar em Criar Credenciais:

image

Procure por Custom Search API no dropdown e clique em "Preciso de quais credenciais?"

image

Após isso irá aparecer sua Api Key, você vai copia-la e clicar no botão concluir, voltando a pasta do projeto você vai navegar até credentials e irá criar um novo arquivo chamado google-custom-search.json com o conteúdo abaixo:

{
  "apiKey": "API_KEY_AQUI"
}

Api: Custom Search Enginer

Agora iremos configurar o nosso motor de busca personalizado do google, para isso você vai acessar o Custom Search Engine, e irá informar o site a pesquisar coloque google.com, irá selecionar o idioma que preferir, e por fim clique em Opções avançadas e para o esquema iremos utilizar o mais genérico Thing, pronto tudo preenchido você irá clicar em criar:

PS.: Para saber mais sobre o schema acesse schema.org.

image

Ps.: Caso não apareça a opção para selecionar o Schema você poderá selecionar no Painel de Controle clicando em Configurações avançadas na parte inferior da tela. Veja a seguir

Agora basta clicar em Painel de Controle na nova tela nós iremos habilitar a opção Pesquisa de imagens e depois iremos clicar no botão Copiar para área de transferência"

image

image

Voltando no arquivo google-custom-search.json iremos criar uma nova propriedade e iremos colar o código identificador do mecanismo de busca que criamos, identificado por searchEngine, no final irá ficar assim:

{
  "apiKey": "API_KEY_AQUI",
  "searchEngine": "ID_MECANISMO_DE_BUSCA"
}

wikipedia-to-document's People

Contributors

dependabot[bot] avatar thiagonelsi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

lhps extratone

wikipedia-to-document's Issues

Objectives

Index

  • Colect search term
  • Colect user language
  • Start text robot
  • Start Image robot

Text Robot

  • Connect to Algorithmia API (Wikipedia Parser)
  • Get the Wikipedia content
  • Break content into sessions
  • Sanitize the content
  • Connect to Algorithmia API (Summarizer)
  • Summarize the wikipedia content with the Summarizer API
  • Register at the IBM Watson platform
  • Connect to the Natural Language Understanding (NLU), WATSON API
  • Get the keywords from the text with the NLU API

Image Robot

  • Connect to Google Images API
  • Fetch images, in Google Images, related to the search term and the keywords from the sentences.
  • Add the images url to the sentences object
  • Download and save them in a folder "images" that will be in the search term folder

Export Robot

  • Save the content into JSON
  • Export full content to .docx file
  • Insert the images into the .docx files

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.