我想通过抓取来获取生产的详细信息。我想转到下一页然后回来。我怎么能这样做,因为没有很多参考资料?
function pageFunction(context) {
// called on every page the crawler visits, use it to extract data from it
var $ = context.jQuery;
var results = [];
context.willFinishLater()
setTimeout(function(){
context.saveSnapshot()
var U = "";
if(context.request.label==='START'){
$(".wyr8u9C38ajt_81OEEJS0").each(function(){
u = window.location.origin + $(this).find('a').attr('href');
results.push({
//productname: $(this).find('._2zb0403rv6_TmGr5AuQdDL _3ZymdXsJIpZFSdoFz7SXGz _2FhmkzjV0mn3CQVnLDbZX7').attr(src)
productname : $(this).find('._10yEIgoNxRH2oiIFjtZAOU').text(),
productimage : $(this).find('[property="image"]').css('background-image').replace('url(','').replace(')',''),
productcurrency: $(this).find('meta[property="priceCurrency"]').attr('content'),
productprice :$(this).find('._2Ke7gNjoZGfGt6jafzQDFK span:nth-child(2)').text(),
productrating :$(this).find('._3y-Pd4U1hs-et3GKdZ-Fe- span').text(),
producturl: window.location.origin + $(this).find('a').attr('href')
// productdesc : $(this).next('._2ZGju-MCzPFgpryXbE_mgT').html()
});
// U = window.location.origin + $(this).find('a').attr('href');
enqueuePage((window.location.origin + $(this).find('a').attr('href')))
});
//context.skipOutput();
}else if(context.request.label==='productlabel'){
results.push({
peter : "43"
});
}
//context.skipOutput();
//va = context.enqueuePage()
context.finish(results);
},10000);
return results;
}
答案 0 :(得分:0)
您的用例是什么?您是否需要将子页面中的数据传递给父级?
通过context.referrer
可以获得家长(推荐人)请求。如果您更改uniqueKey
,则可以重新入队。
此外,来自推荐人的页面功能结果可通过context.referrer. pageFunctionResult
获得。