Partage
  • Partager sur Facebook
  • Partager sur Twitter

Liaison backend - frontend NodeJS express

    20 juin 2022 à 19:52:03

    Bonjour à tous, 

    Je suis débutant et j'ai pour projet de faire un scraper qui récupère des données de différents marchés et qui me les affiche sur un interface en local. Avant de commencer ce projet je voulais m'entrainer, j'ai donc fait un script qui me permet de récupérer mon adresse ip. Cela me permet de vérifiez que le proxy fonctionne correctement. Jusqu'ici tout va bien j'ai bien mon ip qui sort sur le terminal et sur ma page en localhost. C'est ici que tout se complique, j'ai voulu personnaliser cette page pour voir comment on faisait cependant je n'y arrive pas car soit c'est mon ip qui apparait sur le localhost ou soit c'est le code html qui est prix en compte mais du coup mon ip n'apparait plus. J'aimerais pouvoir personnaliser ma page tout en affichant l'ip scrapper a un certain endroit de cette page 

    Voici mes deux script en JS 

    Server.js

    const express = require('express');
    const server = express();
    const port = process.env.PORT || 5000;
    const monip = require('./script');
    
    server.use(express.json());
    //server.use(express.static('public'));
    
    server.get('/' , async (req, res) => {
        const data = await monip();
        res.json(data).innerText
    });
    
    
    server.listen(port, function(req, res)  {
      console.log(`Listening: http://localhost:${port}`);
    });

    script.js

    const puppeteer = require('puppeteer');
    const express = require('express');
    const server = require('./server');
    const cors = require('cors');
    
    setInterval(monip, 15000)
    
    async function monip() {
        const browser = await puppeteer.launch({ headless : false , args: [ '--proxy-server=' ]});
        const page = await browser.newPage();
        await page.goto('https://nordvpn.com/fr/what-is-my-ip/', {waiUntil: "networkidle2"});
        const data = await page.evaluate(() => {
            let elements = document.querySelector('body > div.Page.d-flex.flex-column.overflow-hidden > div:nth-child(2) > div > div > div > div > div > div > div.col-xs-12.col-sm-6.mb-7.mb-sm-0 > h3.Title.h3.mb-6.js-ipdata-ip-address').innerText;
            return elements;
    });
        console.log("Mon ip est : " + data);
        await browser.close();
        return data;
    
    };
    
    module.exports = monip;

    J'ai bien entendu un dossier public avec un fichier html et css

    Je suis preneur de toutes réponses, documentations, tutoriels, vidéos

    Merci d'avance pour vos réponses 

    • Partager sur Facebook
    • Partager sur Twitter

    Liaison backend - frontend NodeJS express

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown