@CanalQb

CanalQb - JavaScript - Engajamento de Blog ou site usando gadget




Observe a primeira postagem, em comparação com as demais.
A diferença é gritante, a segunda postagem em relação a primeira deste rank é de mais ou menos 2%, e você sabe como eu descobri isso.

CanalQb

Criei um post com uma tabela em que apresento algumas moedas PoS. A ideia inicial era mostrar todos os comandos de mineração relacionados a elas, mas então me surgiu o "deslumbre". Por que não utilizar essa tabela para exibir um gadget no meu próprio blog, mostrando os preços atualizados de cada moeda via Coingecko?
Inicialmente no POST eu coloquei a seguinte tabela, aqui um exepmplo resumido.
Note o ID
<table id="moedas" style="table-layout: fixed; width: 100%;">
  <thead>
    <tr>
      <th>Moeda</th><th></th></th>
    </tr>
  </thead>
  <tbody>
<tr><td>Adzcoin (ADZ)</td><td></td></tr>
<tr><td>Aeternity (AE)</td><td></td></tr>
<tr><td>Bitcoin (BTC)</td><td></td></tr>
<tr><td>LiteCoin (LTC)</td><td></td></tr>

  </tbody>
</table>

Então quebrando a cabeça com uma dica aqui, outra ali, cheguei em um script que inicialmente testei na tela, e depois fui modificando até chegar no formato compativel com um gadget.

<div id="moedaDiv"></div>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>

<script>
  $(document).ready(function() {
    function buscarNomeMoeda() {
      $.ajax({
        url: "https://canalqb.blogspot.com/2023/07/cgminer-mais-de-300-moedas-para-voce.html",
        dataType: "html",
        success: function(data) {
          var tabela = $(data).find("#moedas"); // Selecionar a tabela com o ID "moeda"

          var coluna_a = [];
          tabela.find("tr").each(function() {
            var valor_a = $(this).find("td:nth-child(1)").text().trim();
            if (valor_a !== "") {
              coluna_a.push(valor_a);
            }
          });

          var valor_randomizado = coluna_a[Math.floor(Math.random() * coluna_a.length)];

          if (valor_randomizado) {
            $("#moedaDiv").text("Moeda: " + valor_randomizado);
            buscarPrecosMoedas(valor_randomizado);
          } else {
            $("#moedaDiv").text("Não foi possível obter um valor randomizado.");
          }
        },
        error: function() {
          $("#moedaDiv").text("Ocorreu um erro ao consultar os dados.");
        }
      });
    }

    async function buscarPrecosMoedas(moeda) {
      try {
        let moedaFormatada = moeda.toLowerCase().replace(/\(.*?\)/g, '').trim().replace(/[^a-zA-Z0-9]/g, '-');
        const response = await axios.get(`https://api.coingecko.com/api/v3/simple/price?ids=${moedaFormatada}&vs_currencies=usd`);
        const preco = response.data[moedaFormatada]?.usd;

        if (preco) {
          await new Promise(resolve => setTimeout(resolve, 1000)); // Aguarda 1 segundo
          console.log(`Moeda: ${moeda} - Preço: $${preco}`);
          $("#moedaDiv").html(`Moeda: ${moeda}<br>Preço: $${preco}`);
        } else {
          console.log(`Preço não encontrado para a moeda ${moeda}`);
        }
      } catch (error) {
        console.error('Erro ao buscar o preço da moeda:', error.message);
      }
    }

    setInterval(buscarNomeMoeda, 5000); // Altera o nome da moeda a cada 5 segundos
  });
</script>

E o que eu notei foi exatamente o resultado acima, toda vez que alguém entra em algum post, que seja 30 segundos navegando. se reparar na ultima linha do Script, ele pede para que a cada 5 segundos (5000) ele faça uma consulta no link onde está a tabela, ou seja, se a pessoa achar meu post de queijo e ler 30 segundos dele, automaticamente ela vai acessar de forma indireta 6 vezes a pagina, devido o gadget. 

Isso potencializa ainda mais as visitas no meu site.

Agora se pensamos em anunciar produtos dentro do nosso site, via gadget, podemos utilizar este script, para randomizar produtos para serem vendidos, e além disso, ganhamos com muitas visualizações.

Neste exemplo abaixo, vou mostrar como usar uma lista de promoções do site socialsoul

CanalQb

Este vídeo acima, eu tento apresentar todos os menus e ferramentas deste site.
Então se você entrar no site, na guia Quero Vender, depois em Ofertas das marcas 

Então você irá ver um filtro do lado direto em que ele vai te dar a opção de filtrar marcas e categorias, escolha seu nicho de acordo com seu nicho, ou ligue um F...sse e selecione todas.

Agora procure as opções que permitem Baixar, e faça o Download correspondente com seu canal de divulgação, neste vídeo, eu mostrei como criar Canais de divulgação em Blog e em Rede Social.
Então vou baixar para meu blog canalqb.blogspot.com
Ótimo Download feito, agora vamos para as proximas etapas.
Dentro do download temos, 5 colunas, e vamos utilizar apenas 3
OFERTA | DE | PARA | LINK | IMAGEM |
Nome do produto, que está em oferta
Link do produto
Imagem

E vamos adaptar o código.
Mas antes vou ensinar um macete de como unir varios CSV, que é o formato do arquivo que o site forneceu.


CanalQb
Você pode seguir o vídeo, ou simplesmente juntar todos os CSV em uma pasta, e abri o CMD então use o comando
copy *.* ofertas.csv
e feito, um unico arquivo com todos os CSV

Agora que baixamos e unimos alguns CSV, vamos estruturar uma tabela

OFERTA LINK IMAGEM

<table id="ofertas">
  <thead>
    <tr>
      <th>OFERTA</th>
      <th>LINK</th>
      <th>IMAGEM</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Lâmpada LED Inteligente Nexxt Home NHB-W210 127V R$ 200,17</td>
      <td>https://redir.lomadee.com/v2/direct/aHR0cHM6Ly93d3cuZ2lyYWZhLmNvbS5ici9wL2xhbXBhZGEtbGVkLWludGVsaWdlbnRlLW5leHh0LWhvbWUtbmhiLXcyMTAtMTI3di5odG0-/37965560/10918</td>
      <td>null</td>
    </tr>
    <tr>
      <td>BOAS OFERTAS</td>
      <td>https://redir.lomadee.com/v2/direct/aHR0cHM6Ly93d3cuaWJ5dGUuY29tLmJyL3BsYWNhLWRlLXZpZGVvLWdhbGF4LWdlZm9yY2UtcnR4LTMwODAtc2ctMS1jbGljay1vYy1saHItMTBnYi1nZGRyNngtMzIwLWJpdHMtMzhud20zbWQ5OXJnL3A-/37965560/10918</td>
      <td>https://lojaibyte.vteximg.com.br/arquivos/ids/365662-1200-1200/placa-de-video-galax-geforce-rtx-3080-sg-1-click-oc-lhr-10gb-gddr6x-320-bits-38nwm3md99rg-01-min.jpg?v=637716539617270000</td>
    </tr>
  </tbody>
</table>

Bom acima, crie uma tabela de exemplo para você colocar em uma postagem, observe que a primeira linha da coluna IMAGEM temos o Null, vamos tratar esse erro também.

Eu criei um script que pega todos os csv que você juntou todos os arquivos, no exemplo chamado de ofertas.csv
Sim você vai precisar usar o python, então baixe neste link https://cb.run/uIvG a versão que mais lhe compete. Eu uso o python 3.8.10 (https://cb.run/3N24)

E bora para o Script (Lembrando que você pode modificar da forma que mais lhe agrade)
Mantenha o nome ofertas.csv
Coloque o Script.py na mesma pasta e execute
O arquivo gerado está com o nome ofertas.txt

Então uma vez o arquivo gerado ofertas.txt, você pode alimentar um gadget de um Blogger ou Wordpress, ou algum local de algum site que você trabalha.

Mas neste caso vamos ao Blogger.
Clique no icone do lapis, como na imagem CanalQb, então clique em Visualização em HTMLCanalQb

Ele vai virar algo do tipo

CanalQb
Então abra o txt gerado ofertas.txt copie e cole nesta local, assim como no vídeo abaixo e salve.
Primeira parte concluida.

CanalQb


Publique a tabela, e ou clique no icone acima, ou abra diretamente em seu post, e pegue o link da pagina direto no navegador.


Segunda parte concluida.

Agora vamos montar o Script do gadget, faça o download dele:  https://cb.run/IbCQ
Abra com um editor de texto o arquivo gadget.html, copie e cole onde desejar.

CanalQb

Neste caso estou colando em um gadget, se estiver utilizando outro sistema, defina a forma de uso por sua conta.

Segue o vídeo passo a passo para ajudar vocês
CanalQb