Puppeteer - 将数据分配给外部变量 await page.on('response')
Puppeteer - assign data to outside variable await page.on('response')
let data;
await page.on('response', async (response) => {
if (response.url().includes("https://www.ubereats.com/api/getFeedV1")) {
const j = await response.json();
console.log(j);
}
});
console.log(data);
这是带有 puppeteer 库的网络抓取工具的代码段。
在这个 await
中,我可以记录 j
变量。但是我需要将它分配给 data
变量。我该怎么做?
正如@ggorlen所说,我使用了以下方法。
const responseData = (page, url) => {
return new Promise(resolve => {
page.on("response", async (response) => {
if (response.url().includes(url)) {
const json = await response.json();
// console.log(json);
resolve(json);
}
});
});
}
let data = await responseData(page, "https://www.example.com/api/getFeedV1");
let data;
await page.on('response', async (response) => {
if (response.url().includes("https://www.ubereats.com/api/getFeedV1")) {
const j = await response.json();
console.log(j);
}
});
console.log(data);
这是带有 puppeteer 库的网络抓取工具的代码段。
在这个 await
中,我可以记录 j
变量。但是我需要将它分配给 data
变量。我该怎么做?
正如@ggorlen所说,我使用了以下方法。
const responseData = (page, url) => {
return new Promise(resolve => {
page.on("response", async (response) => {
if (response.url().includes(url)) {
const json = await response.json();
// console.log(json);
resolve(json);
}
});
});
}
let data = await responseData(page, "https://www.example.com/api/getFeedV1");