我有一个puppeteer函数,它使用模板文字转到某个页面,并读取给定表的内容。我如何将我拥有的数组从网站发送到我的服务器,这样我就可以通过API来获取它?谢谢!
代码:
const puppeteer = require('puppeteer');
const today = new Date();
let ma = today.getFullYear() + '.' + 0 + (today.getMonth() + 1) + '.' + today.getDate() + '.';
const url = `https://www.mnb.hu/arfolyam-tablazat?deviza=rbCustom&devizaSelected=ZAR&datefrom=${ma}&datetill=${ma}&order=1&customdeviza%5B%5D=EUR&customdeviza%5B%5D=USD&customdeviza%5B%5D=GBP`
async function getTable() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url);
const data = await page.evaluate(() => {
const tds = Array.from(document.querySelectorAll('tbody tr td'))
return tds.map(td => td.innerText)
});
console.log(data);
console.log(data[0])
await browser.close();
};
getTable();这是只有一条路由的服务器
const express = require('express');
const puppeteer = require('puppeteer');
const cors = require('cors')
const app = express();
app.use(cors())
const devizak = [**Data from puppeteer**]
app.get("/devizak", cors(), function (req, res, next) {
if (devizak.length < 1) {
return null
} else {
res.json([devizak])
}
})
app.listen(5000, () => {
console.log("App is listening on port 5000");
})发布于 2021-07-20 22:04:33
如果不知道这个脚本和您的服务器代码之间的上下文/关系,就很难回答这个问题,但是:
假设您的服务器是RESTful,我建议您使用本机fetch API或第三方HTTP库(如Axios )将数组作为POST请求发送到您的服务器。例如:
const Axios = require('axios')
const serverURL = /* Your server URL here */
// Get the array from your async function
getTable()
.then((yourArray) => {
// Send to your server
Axios.post(serverURL, yourArray)
})https://stackoverflow.com/questions/68456078
复制相似问题