【发布时间】:2023-02-06 18:20:19
【问题描述】:
我正在尝试抓取 website,但我没有得到某些元素,因为这些元素是动态创建的。
我在 node.js 中使用 cheerio,我的代码如下。
var request = require('request');
var cheerio = require('cheerio');
var url = "http://www.bdtong.co.kr/index.php?c_category=C02";
request(url, function (err, res, html) {
var $ = cheerio.load(html);
$('.listMain > li').each(function () {
console.log($(this).find('a').attr('href'));
});
});
此代码返回空响应,因为当页面加载时,<ul id="store_list" class="listMain"> 为空。
内容尚未附加。
如何使用 node.js 获取这些元素?如何抓取包含动态内容的页面?
【问题讨论】:
-
使用 phantom.js 无头浏览器,它将加载并呈现页面。您可以使用其 javascript API 访问页面上的不同元素。
-
谢谢萨菲!但是你能给我一个代码 sn-p 或一些关于这个案例的参考吗?
-
@Safi Phantom 已弃用且不再维护,因此如果您不介意的话,我建议删除评论并将此标记为删除。
标签: javascript node.js web-crawler phantomjs