मैं पहली बार phantomJS को आजमा रहा हूं और मैंने साइट से कुछ डेटा सफलतापूर्वक निकाला है, लेकिन जब मैं किसी फ़ाइल में कुछ सामग्री लिखने का प्रयास करता हूं तो मुझे त्रुटि मिलती है: संदर्भ त्रुटि: नहीं कर सकता वेरिएबल प्राप्त हो: FSFantomJS फ़ाइल fs फ़ाइल लिखने के लिए। चर नहीं मिल सकता: fs
यहाँ मेरी स्क्रिप्ट
var page = require('webpage').create();
var fs = require('fs');
page.onConsoleMessage = function(msg) {
console.log(msg);
};
page.open("http://www.pinterest.com/search/pins/?q=motorbike", function(status) {
if (status === "success") {
page.includeJs("http://code.jquery.com/jquery-latest.js", function() {
page.evaluate(function() {
var imgs = {
title: [],
href: [],
ext: [],
src: [],
alt: []
};
$('a.pinImageWrapper').each(function() {
imgs.title.push($(this).attr('title'));
imgs.href.push($(this).attr('href'));
var ext = $(this).children('.pinDomain').html();
imgs.ext.push(ext);
var img = $(this).children('.fadeContainer').children('img.pinImg');
imgs.src.push(img.attr('src'));
imgs.alt.push(img.attr('alt'));
});
if (imgs.title.length >= 1) {
for (var i = 0; i < imgs.title.length; i++) {
console.log(imgs.title[i]);
console.log(imgs.href[i]);
console.log(imgs.ext[i]);
console.log(imgs.src[i]);
console.log(imgs.alt[i]);
}
} else {
console.log('No pins found');
}
fs.write('foo.txt', 'bar');
});
phantom.exit();
});
}
});
क्या मैं यहाँ याद आ रही है है?
संपादित करें: इस प्रश्न पर प्रतिक्रिया के बारे में मैंने सीखा कि मैं evalute के अंदर डेटा तक क्यों नहीं पहुंच पा रहा था, और मैं इसे कैसे एक्सेस कर सकता था।
var page = require('webpage').create();
var fs = require('fs');
page.onConsoleMessage = function(msg) {
console.log(msg);
};
openPinPage('motorbike');
function openPinPage(keyword) {
page.open("http://www.pinterest.com/search/pins/?q=" + keyword, function(status) {
if (status === "success") {
page.includeJs("http://code.jquery.com/jquery-latest.js", function() {
getImgsData();
});
}
});
}
function getImgsData() {
var data = page.evaluate(function() {
var imgs = {
title: [],
href: [],
ext: [],
src: [],
alt: []
};
$('a.pinImageWrapper').each(function() {
imgs.title.push($(this).attr('title'));
imgs.href.push($(this).attr('href'));
var ext = $(this).children('.pinDomain').html();
imgs.ext.push(ext);
var img = $(this).children('.fadeContainer').children('img.pinImg');
imgs.src.push(img.attr('src'));
imgs.alt.push(img.attr('alt'));
});
return imgs;
});
for (var i = 0; i < data.title.length; i++) {
console.log(data.title[i]);
};
phantom.exit();
}
मैंने यह दिखाने के लिए एक जवाब जोड़ा है कि आप फ़ाइल में कुछ वेबपृष्ठ सामग्री कैसे लिख सकते हैं। – Mritunjay