我想爬这是使用pdf.js Example爬行使用CasperJS
的问题是一些DOM元素都出现在Firebug但不是在页面的源代码做了一个PDF文件的内容的PDF文件,所以每当我尝试抓取时,我都会看到空白的pdf页面。
我用NightWatchJs试过同样的东西,但它的工作,但为了一些特定的目的,我想坚持CasperJS。
这里是我的代码
var casper = require('casper').create({
verbose: true,
logLevel: 'debug',
userAgent: 'Mozilla/5.0 poi poi poi (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',
contentType: 'application/pdf',
viewportSize: {
width:2000,
height:1000
},
pageSettings: {
javascriptEnabled: true,
loadImages: true,
loadPlugins: true
}
});
var fs = require('fs');
casper.start('https://mozilla.github.io/pdf.js/web/viewer.html', function() {
this.waitForSelector("#pageContainer1", function check() {
var pdfContent = this.getPageContent();
fs.write('/var/www/caspersJS/pdf_check.html', pdfContent, 'w+');
this.capture('/var/www/caspersJS/pdf_check.png', {
top:0,
left:0,
height:2368,
width:2024,
format: 'png',
quality: 100
});
}, function then() {
var pdfContent = this.getPageContent();
fs.write('/var/www/caspersJS/pdf_then.html', pdfContent, 'w+');
this.capture('/var/www/caspersJS/pdf_then.png', {
top:0,
left:0,
height:2368,
width:2024,
format: 'png',
quality: 100
});
}, 60000);
});
casper.run();
Hi Artjom B. 如果您打开[link](https://mozilla.github.io/pdf.js/web/viewer.html),您将看到pdf内容为“基于跟踪的Just-in-时间类型专业化动态“。我想抓取该内容。 – Khwab
如果您只需要文本内容,则不必使用casper或phantom,只需使用API即可获取文本内容。见https://github.com/mozilla/pdf.js/blob/master/examples/node/getinfo.js – async5
嗨Artjom ..如果你看到我的脚本,我等待60秒,该id被加载,但问题是pdf不是只加载。我通过捕获屏幕证实了这一点。 – Khwab