我正在使用nodeJS制作网络抓取工具,它正在工作,它调用页面,我使用cheerio转换为JQuery,并调用标记。
现在我试图调用页面的注释,但问题是,我想要的标记是在Ajax GET请求几秒钟后加载的。我提出的请求承诺无法找到此特定标记,因为它会在以后加载。
我可以通过某种方式找到加载的标签吗?
代码:
var product = {"product1"}, {"product2"}, {"product3"}
or var product = {"product1", "product2", "product3"}
答案 0 :(得分:0)
我不相信你能够使用' cheerio'来做到这一点。它解析HTML DOM,但出于所有意图和目的,它不是Web浏览器,因此它不会在页面上执行脚本。您将需要使用CasperJS(由PhantomJS提供支持)来渲染页面,以允许您等待通过脚本加载内容。
编辑:在cheerio文档中。
Cheerio不是网络浏览器
Cheerio解析标记并提供用于遍历/操纵结果数据结构的API。它不会像Web浏览器那样解释结果。具体来说,它不会生成可视化渲染,应用CSS,加载外部资源或执行JavaScript。如果您的用例需要任何此功能,则应考虑PhantomJS或JSDom等项目。