我正在使用pjscrape来抓取网站生成的动态网页中的内容。请参阅下面的代码。 我无法弄清楚我需要做什么才能打印出转储到文件的json变量中的抓取页面的url。我已经尝试了各种方法 - 包括document.url等(参见下面代码中注释掉的第3-6行)。但是,我无法弄清楚如何获取urlFound变量以获得正确的值。当然,答案可能是简单的,但它可以避开我。这样做的其他任何方式?救命啊!
var scraper = function() {
return {
//urlFound:$(window.location.href),
//urlFound: $(this).window.location.href,
//urlFound: _pjs.toFullUrl($(this).attr('href')),
//urlFound: _pjs.toFullUrl($(this).URL),
// Heck - how to print out the url being scraped???
name: $('h1').text(),
marin: _pjs.getText($("script:contains('marin')"))
}
};
pjs.config({
// options: 'stdout', 'file' (set in config.logFile) or 'none'
log: 'stdout',
// options: 'json' or 'csv'
format: 'json',
// options: 'stdout' or 'file' (set in config.outFile)
writer: 'file',
outFile: 'scrape_output.json'
});
pjs.addSuite({
url: 'http://www.mophie.com/index.html',
moreUrls: function() {
return _pjs.getAnchorUrls('li a');
},
scraper: scraper
});
答案 0 :(得分:0)
jquery
上的选择器不需要window.location.href
。不确定如何访问pjscraper
的内部网址,但将代码更改为有效:
var scraper = function() {
return {
urlFound: window.location.href,
name: $('h1').text(),
marin: _pjs.getText($("script:contains('marin')"))
}
};
答案 1 :(得分:0)
或者您可以使用document.URL
...将其另存为变量,然后使用How to read and write into file using JavaScript将其写入文件