Se solicita Programador Para Scraper

  • Autor Autor WebmasterKing
  • Fecha de inicio Fecha de inicio
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

WebmasterKing

WebmasterKing

Kappa
Verificación en dos pasos activada
Verificado por Binance
Retroalimentación: +167 / =0 / -1
Precio
$1 USD
Formas de pago
  1. Binance
  2. Paypal
Método de entrega
Sin intermediario
Plazo para pagar
Máximo 1 día
Plazo de entrega
Máximo 1 día
Comisiones
No existen
Hola amigos!!

Busco la forma de añadir los datos de esta tabla:
o
https://chequinielas.com/ciudad o estos:

A mi tabla: https://quinielaenzo.com.ar/

Quiero añadir todos los datos de una tabla copiando y pegando 1 o 2 veces, ya que seran mas de 1000 tablas y necesito reducir el trabajo lo mas que se pueda, si fuera automatico mejor.
 
Envio MP para consultar detalles.
 
Bastante EASY.

Aqui lo tienes free :

Requerimientos:

Nodejs, Npm y Chrome

Como usar:

Una ves cumplas con el entorno de Ejecucion:

1: Abre una consola
2 Escribe npm init --yes
5: Instala las dependencias: npm i fs-extra @Colors/colors puppeteer-core chrome-paths
4: creea un archivo de tipo js, ejemplo: "quiniela.js" y pega este codigo:

JavaScript:
const fs = require('fs-extra')
const colors = require('@colors/colors')
const puppeteer = require('puppeteer-core');
const chromePaths = require('chrome-paths');

  (async function () {
    let browser = await puppeteer.launch({
      headless: false,
      executablePath: chromePaths.chrome,
      args: [
        '--incognito',
        '--aggressive-cache-discard',
        '--unlimited-storage',
        '--full-memory-crash-report',
        '--disable-dev-shm-usage',
        '--force-gpu-mem-available-mb',
        '--disable-gpu',
        '--no-sandbox',
        "--disable-setuid-sandbox"
      ],
      defaultViewport: null
    })

    const url = 'https://www.quinielaenvivo.com.ar/quinielas/nacional/resultados-de-hoy';


    const [page] = await browser.pages();

    await page.goto(url, { timeout: 0, waitUntil: "networkidle2" });

    let titles = {};
    let numbers = {};
    let number = {};

    if (await page.$('h3') !== null) {
      titles = await page.$$eval('th > h3', e => e.map(title => title.textContent));
    }

    if (await page.$('small') !== null) {
      numbers = await page.$$eval('td > small', e => e.map(number => number.textContent));
    }

    if (await page.$('span.nro') !== null) {
      number = await page.$$eval('span.nro', e => e.map(number => number.textContent));
    }

    const listA = number.slice(0, 20);
    const listB = number.slice(20, 40);
    const listC = number.slice(40, 60);
    const listD = number.slice(60, 80);
    const allNumbers = numbers.slice(0,20)

    const items = titles.map((title, index) => {

      if (index === 0) {
        number = listA;
      }

      if (index === 1) {
        number = listB;
      }

      if (index === 2) {
        number = listC;
      }

      if (index === 3) {
        number = listD;
      }

      return {
        name: title,
        numbers: allNumbers,
        number: number
      }
    })

    async function GenerateList() {
      try {
        await fs.writeJson('./quinielaList.json', items);
        console.log('success!'.green);
      } catch (err) {
        console.error(err.red);
      }
    }

    await GenerateList();
    await page.close();

  })()

5 Ejecuta el codigo, ve a la consola y escribe: node quiniela.js, se ejecutara el codigo y obtendras un archivo json como este al final:

JSON:
[
    {
        "name": "LA PRIMERA, Quiniela Nacional. 26/03/2022",
        "numbers": [
            "1",
            "6",
            "11",
            "16",
            "2",
            "7",
            "12",
            "17",
            "3",
            "8",
            "13",
            "18",
            "4",
            "9",
            "14",
            "19",
            "5",
            "10",
            "15",
            "20"
        ],
        "winNumber": [
            "1298",
            "6092",
            "0236",
            "2109",
            "9026",
            "6684",
            "8673",
            "9979",
            "4496",
            "6757",
            "0907",
            "0667",
            "2018",
            "4098",
            "7884",
            "8637",
            "9448",
            "8281",
            "2031",
            "7230"
        ]
    },
    {
        "name": "MATUTINA, Quiniela Nacional. 26/03/2022",
        "numbers": [
            "1",
            "6",
            "11",
            "16",
            "2",
            "7",
            "12",
            "17",
            "3",
            "8",
            "13",
            "18",
            "4",
            "9",
            "14",
            "19",
            "5",
            "10",
            "15",
            "20"
        ],
        "winNumber": [
            "0735",
            "5798",
            "6812",
            "8771",
            "6301",
            "9944",
            "9680",
            "5660",
            "3064",
            "0134",
            "8148",
            "0164",
            "1776",
            "8604",
            "8889",
            "6673",
            "0733",
            "2902",
            "7490",
            "9196"
        ]
    },
    {
        "name": "VESPERTINA, Quiniela Nacional. 26/03/2022",
        "numbers": [
            "1",
            "6",
            "11",
            "16",
            "2",
            "7",
            "12",
            "17",
            "3",
            "8",
            "13",
            "18",
            "4",
            "9",
            "14",
            "19",
            "5",
            "10",
            "15",
            "20"
        ],
        "winNumber": [
            "3946",
            "2622",
            "0605",
            "1176",
            "7559",
            "7592",
            "0814",
            "3376",
            "6086",
            "5991",
            "8947",
            "0413",
            "5472",
            "0031",
            "3350",
            "8122",
            "7248",
            "9695",
            "6677",
            "1786"
        ]
    },
    {
        "name": "NOCTURNA, Quiniela Nacional. 26/03/2022",
        "numbers": [
            "1",
            "6",
            "11",
            "16",
            "2",
            "7",
            "12",
            "17",
            "3",
            "8",
            "13",
            "18",
            "4",
            "9",
            "14",
            "19",
            "5",
            "10",
            "15",
            "20"
        ],
        "winNumber": [
            "2747",
            "6438",
            "1167",
            "4153",
            "5464",
            "8049",
            "8248",
            "1640",
            "3956",
            "8463",
            "6495",
            "5946",
            "1733",
            "7335",
            "7247",
            "8351",
            "4656",
            "1440",
            "8843",
            "0007"
        ]
    }
]


Ahora puedes hacer lo que quieras con el archivo json como por ejemplo iterarlo y mostrarlo en una lista.

Para mostrar los datos esperando que uses codigo moderno de js, tocaria hacer algo como:

JavaScript:
import quiniela from "./quinielaList.json";

const pintar = () => {
  const divElement = document.createElement('div')

  divElement.innerHTML = `
    <table>
        <span id="list">
        </span>
    </table>
    `;

  quiniela.map(e => {
    divElement.querySelector('#list').innerHTML += `
    <thead>
      <tr>
        <th>${e.name}</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>${e.numbers}</td>
        <td>${e.winNumber}</td>
      </tr>
    </tbody>   

    `;
  })
}

pintar();
 
Última edición:
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

Temas similares

pottermore
Respuestas
4
Visitas
110
alvarogonzalez
alvarogonzalez
W
Respuestas
4
Visitas
174
John.
John.
sakana
Respuestas
5
Visitas
119
sakana
sakana
Hongxian
Respuestas
2
Visitas
166
fercba
F
Atrás
Arriba