具有多个加载数据的PhantomJS页面抓取
PhantomJS page scraping with multiple load data
我正在尝试与PhantomJS刮擦此页面:http://www.avrilgau.com/fr/5-chaussures .目的是获取所有产品的链接。问题是当我向下滚动时会加载新数据。每次我向下滚动时,都会将12个新项目添加到document.querySelectorAll("#content> ul> li>div>div a.img") 。
我发现了一个隐藏在HTML代码中的表单。当我提交此表格时,我成功地获得了总共 61 个元素中的 110 个元素。
如何获取所有产品的链接?
到目前为止我的代码:
var system = require("system");
var fs = require("fs");
var path = 'productLinks.txt';
var url = "http://www.avrilgau.com/fr/5-chaussures";
var page = require('webpage').create();
page.onConsoleMessage = function(msg) {
console.log(msg);
};
page.open(url, function (status) {
var content = page.evaluate(function()
{
var allUrl=[];
var tempNodeArray =document.querySelectorAll("#content > ul > li > div > div a.img");
for (var i = 0; i < tempNodeArray.length; i++) {
allUrl.push((tempNodeArray[i]).href);
};
return allUrl.join("'n")+"'n";
});
console.log(content);
fs.write(path, content, 'a');
phantom.exit();
});
该类别中只有 61 种产品,当按预期使用该网站时,无限滚动对我来说停在 61 种产品。你从哪里得到数字 110?
相关文章:
- PhantomJS执行搜索并抓取URL
- 使用nodejs和phantomjs进行动态抓取
- 使用PhantomJS的动态组合下拉框抓取 ASP.NET 站点
- 如何使用PhantomJS和node.js进行抓取
- 具有多个加载数据的PhantomJS页面抓取
- 使用PhantomJS进行网页抓取
- 使用phantomjs或node从网站上抓取通过网络套接字流式传输的数据
- 在PhantomJS中动态更改链接,然后单击它来抓取页面
- 使用PhantomJS和pjscrape来抓取动态生成的web内容
- 使用Phantomjs抓取React站点
- 如何在PhantomJS中跳转到下一页进行抓取
- 如何使用Phantomjs设置页面抓取的时间间隔
- 尝试使用CasperJS、PhantomJS和回发进行抓取
- 我如何将这个PhantomJS脚本更改为NodeJS进行web抓取
- 如何使用phantomjs抓取网站
- PhantomJS无法抓取特定网页
- 使用javascript(phantomjs)导航/抓取hashbang链接
- phantomJS抓取多页会导致执行顺序错误
- 如何在node-js环境中使用phantomjs进行动态网页抓取
- 使用phantomjs抓取站点地图