如何让网站在浏览器中自动运行“node index.js”?

苏米洛

我有一个要在 netlify 上自动运行的用于股票价格的 javascript 网络抓取程序。

为了让它运行,我必须在命令终端中输入“node index.js”。

但是..在将其上传到 netlify 后如何使其自动执行 - 无需输入“node index.js”?网页抓取/API 实践

这是我的第一个网络抓取项目——所以请理解——这可能是一个非常菜鸟的问题。

这是 index.js 文件

const request = require("request-promise");
const fs = require("fs");
const cheerio = require("cheerio");


async function tsla() {
    const html = await request.get(
        "https://finance.yahoo.com/quote/TSLA/"
        );

    const $ = await cheerio.load(html);

    const Price = $('[class="Fw(b) Fz(36px) Mb(-4px) D(ib)"]').text();
    const Symbol = $('[class="D(ib) Fz(18px)"]').text();
    const PercentChange = $('fin-streamer[class="Fw(500) Pstart(8px) Fz(24px)"][data-field="regularMarketChangePercent"]').find('span').text();
    fs.writeFileSync("./tslaSymbol.csv", Symbol);
    fs.writeFileSync("./tslaPrice.csv", Price);
    fs.writeFileSync("./tslaPercentChange.csv", PercentChange)
    
    console.log(Price);
    console.log(Symbol);
    console.log(PercentChange)

    setTimeout(tsla, 1000); //60 seconds == 1minute
}

tsla();

async function aapl() {
    const html = await request.get(
        "https://finance.yahoo.com/quote/AAPL/"
        );

    const $ = await cheerio.load(html);

    const Price = $('[class="Fw(b) Fz(36px) Mb(-4px) D(ib)"]').text();
    const Symbol = $('[class="D(ib) Fz(18px)"]').text();
    const PercentChange = $('fin-streamer[class="Fw(500) Pstart(8px) Fz(24px)"][data-field="regularMarketChangePercent"]').find('span').text();
    fs.writeFileSync("./aaplSymbol.csv", Symbol);
    fs.writeFileSync("./aaplPrice.csv", Price);
    fs.writeFileSync("./aaplPercentChange.csv", PercentChange)
    
    
    console.log(Price);
    console.log(Symbol);

    setTimeout(aapl, 1000); // 60,000 = 60 seconds == 1minute
}

aapl();


async function spy() {
    const html = await request.get(
        "https://finance.yahoo.com/quote/spy/"
        );

    const $ = await cheerio.load(html);

    const Price = $('[class="Fw(b) Fz(36px) Mb(-4px) D(ib)"]').text();
    const Symbol = $('[class="D(ib) Fz(18px)"]').text();
    const PercentChange = $('fin-streamer[class="Fw(500) Pstart(8px) Fz(24px)"][data-field="regularMarketChangePercent"]').find('span').text();
    fs.writeFileSync("./spySymbol.csv", Symbol);
    fs.writeFileSync("./spyPrice.csv", Price);
    fs.writeFileSync("./spyPercentChange.csv", PercentChange)
    
    console.log(Price);
    console.log(Symbol);
    console.log(PercentChange);

    setTimeout(spy, 1000); // 60,000 = 60 seconds == 1minute
}

spy();

async function nvda() {
    const html = await request.get(
        "https://finance.yahoo.com/quote/nvda/"
        );

    const $ = await cheerio.load(html);

    const Price = $('[class="Fw(b) Fz(36px) Mb(-4px) D(ib)"]').text();
    const Symbol = $('[class="D(ib) Fz(18px)"]').text();
    const PercentChange = $('fin-streamer[class="Fw(500) Pstart(8px) Fz(24px)"][data-field="regularMarketChangePercent"]').find('span').text();
    fs.writeFileSync("./nvdaSymbol.csv", Symbol);
    fs.writeFileSync("./nvdaPrice.csv", Price);
    fs.writeFileSync("./nvdaPercentChange.csv", PercentChange)
    
    console.log(Price);
    console.log(Symbol);
    console.log(PercentChange);

    setTimeout(nvda, 1000); // 60,000 = 60 seconds == 1minute
}

nvda();

基本上,javascript 会抓取该数据并将其发送到 CSV 文件,然后将其显示在页面中。

反玛99

我认为在将项目部署到 netlify 之前,您必须在项目中创建两个文件,

  1. netlify.toml (您将在其中放置构建功能)
  2. 您必须使用空的 index.html 文件创建一个 dist 目录。

如果您知道,请忽略它并确保您已在 package.json 中编写脚本,然后在部署时您应该能够配置您的构建命令,这样就可以了。

你也可以从这里获得一些帮助netify 功能是这样做的方法,因为 netlify 主机静态兼容

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何让网站在浏览器中自动运行“node index.js”?

如何检测脚本是否正在浏览器或Node.js中运行?

如何让node.js和Mocha在浏览器中运行(测试)?

如何在浏览器而不是命令行中运行Node.js代码

如何使用Node JS在浏览器中创建Cookie

如何使用自动browserify + uglify为浏览器提供node.js代码

如何在浏览器上运行 node.js 项目?

如何在浏览器上运行node.js客户端

您如何知道哪些Node.js代码将在浏览器上运行?

如何使用Vue.js在每个浏览器中关闭自动保存密码弹出窗口

如何在node.js(express.js)中获得浏览器语言?

在Vue.js中,如何检测在created()挂钩中的代码是否在浏览器中运行?

Disqus的count.js脚本在react.js网站的index.html中无法正常运行

成功在node.js中运行示例代码,但未能在浏览器中运行修改后的代码

在浏览器中本地运行简单的React js

如何在Node.js中的浏览器地址栏中获取URL

chrome 浏览器中的 CORS Node.js

Node.js在浏览器中显示JSON文件

浏览器中的Node JS fs模块

从浏览器(使用Express)在Node js中调用方法

Node.js和浏览器中对“ this”的不同处理

如何在谷歌浏览器中连接到Angle,Node.js http:// localhost:4200

如何在Node.js中的浏览器上从CSV文件打印数据

如何从我的node.js VM实例在浏览器中查看JSON数据?

我将如何在浏览器中测试我的 node.js 代码?

在Scala.js中,代码如何检测它是在浏览器窗口中运行还是在WebWorker中运行?

浏览器不想运行.js

如何在浏览器中本地执行.js文件?

如何使minimongo.js在浏览器中工作?