我正在制作一个Javascript程序,它接收URL并获取由返回的初始URL触发的请求的响应。我正在对http请求使用 fetch API。
当我在Chrome中输入一个网址并打开devtools的“网络”标签时,我收到以下请求及其相应的响应:
现在,我的目标是在给定初始URL的同时,从这些请求(来自Survey_data,survey_metadata和翻译)中获取json对象。
有什么办法可以获取那些json对象或这些URL地址,以便使用此URL发出新的提取请求?
谢谢大家。
答案 0 :(得分:0)
问题解决了。我已经使用puppeteer完成了此操作。
browser.interceptRequest()
通过拦截给定URL(rootUrl)的请求,然后获取这些URL来完成这项工作。
const getAllUrls = async (rootUrl) => {
const puppeteer = require('puppeteer');
const urls = [];
await puppeteer.launch().then(async browser => {
const page = await browser.newPage();
await page.setRequestInterception(true);
page.on('request', interceptedRequest => {
if (isRelevantUrl(interceptedRequest.url())) {
urls.push(interceptedRequest.url());
interceptedRequest.abort();
} else {
interceptedRequest.continue();
}
});
await page.goto(rootUrl);
await browser.close()
})
.catch(err => console.log(err));
return urls;
}