我只是想让您知道我已经用setTimeout尝试了该解决方案(在将我的问题标记为DUPLICATE之前)
问题与我正在抓取的网站有关 因此,当我使用phantomJs时,它只会刮擦网页的第一部分,而不是刮擦整个页面
我什至尝试了另一个网络抓取工具(APIFY),它返回的内容相同
这是我要抓取的页面the page that i want to scrape
这是我正在使用的代码:
var phantom = require("phantom");
(async function() {
const instance = await phantom.create();
const page = await instance.createPage();
await page.on("onResourceRequested", function(requestData) {
console.info("Requesting", requestData.url);
});
const status = await page.open(
"https://www.articles-epresse.fr/media/894eab75-c642-46a2-a1ba-b240c278ebbc?"
);
const content = await page.property("content");
console.log(content);
var $ = cheerio.load(content);
console.log($("#article319670").attr("href")); // returns undefined
//because phantomJs is not reaching the end of the page
await instance.exit();
})();
PS:我使用了幻像,因为页面的代码源与“检查元素”不同
谢谢