API:Article ideas generator/pt

Visão geral
Neste tutorial, encontrarás a demonstração de una aplicação geradora de idéias para artigos, que sugere artigos de varias categorias que não existem em Wikipedia inglesa.

Descarregar o código fonte usando GitHub Explorar o aplicativo em Toolforge

Este tutorial te ensinará como fazer isto usando (GitHub e Toolforge):


 * estrutura Python e Flask, e a biblioteca Requests
 * Action API's, Parse e módulo Links

Um manual passo-a-passo para desenvolver esta aplicação:



Passo 1: configurar o ambiente Python e Flask
Para configurar o Python e Flask, deve instalar a linguagem de programação Python, criar um ambiente virtual, e instalar o Flask e os Requests.

Aprende aqui mais sobre as diferenças entre as versões Python2 e Python3. Para instalar Python3 em tua máquina local, segue as instruções passo a passo nestas guias de instalação.

Aqui mostra-se como configurar o meio de desenvolvimento para construir o aplicativo:



Passo 2: Criar um aplicativo de Flask simples


Mostrar uma página estática simples
Coloca o seguinte código em

Drop this one line of code Article ideas generator in a HTML file inside the  folder:

Next run your Flask app with the command  and open   to view your app in the browser. You should be able to see "Article ideas generator" in your browser window.

Style your app
Let's do some app styling. To do so, add link tags to load an external and internal stylesheet. External stylesheet, in this case, is the URL of a CSS file for the font.

Replace the existing code in  with the following:

Place the following code in

Application layout
$HOME/article-ideas-generator ├── templates/ │  └── articles.html ├── static/ │  └── style.css ├── articles.py └── venv/

Step 3: Fetch page sections from Wikipedia:Requested articles
Let's write some code in a  function in   to fetch page sections from Wikipedia:Requested articles. This function takes page name as an argument and makes a  request to the Action API to parse sections of the page. API call consists of an endpoint  and query string parameters. Some of the key parameters are:


 * - module to parse content on a page
 * - page title to parse
 * - tells which piece of information to retrieve, in this example it is sections

Next, extend the Python Flask route  in   to call the function defined above and also pass the results returned by the function to.

Place the following Jinja template code in. It dynamically renders an array of category buttons based on page sections obtained via the API above.

Place the following code in  for button styling.



Passo 4: Veja mais seções baseados na seleção do usuário
Based on a category or section selected by the user in the previous step, we want to fetch subsections from Wikipedia:Requested articles. Extend the Python Flask route  in   to handle POST requests. You can do so by adding both  and   in the   argument list in the route decorator. You can then obtain category selection available in a  format from the   object, which is passed to   function for further processing.



Passo 5: exibir artigos com ligações quebradas
Let's write some code in a  function in   to fetch around 20 articles with missing links on a page. This function takes page name as an argument, makes a  request to the Action API, and returns all links embedded on that page. From further extraction, you can obtain those links that are missing and don't yet exist on English Wikipedia. The API call consists of an endpoint  and query string parameters. Some of the key parameters are:


 * - module to query information
 * - page title to collect links
 * - query module's submodule  used as a generator module to get a set of links embedded on a page
 * - number of links to fetch

Next, extend the  block for the   method in the   route in   to call the   function if the page from which the request is issued is of type.

Place the following Jinja template code in. It dynamically renders a list of links using data obtained via the API above.

View the complete Python, CSS, and HTML code.

Next steps

 * Contribute a demo app that you have developed using the MediaWiki API to this code samples repository.



Veja também

 * Tutoriais Flask
 * Tutoriais Flask
 * Tutoriais Flask