bquery
Version:
bquery is a useful node module to fetch web page, which use css selector to fetch and structure this html page content.
32 lines (27 loc) • 743 B
JavaScript
var q = require('q'),
xml2json = require('xml2json'),
bquery;
exports._init = function (n) {
bquery = n;
};
exports.fetch = fetch;
exports.select = select;
function fetch (url, query) {
var deferred = q.defer();
// if (bquery.cache.check(query)) {
// deferred.resolve(bquery.cache.get(query).value);
// return deferred.promise;
// } else {
return bquery.fetch(url, query).then(function (xml) {
try {
var parsed = JSON.parse(xml2json.toJson(xml));
return select(parsed, query);
} catch (e) {
throw new Error('Could not parse XML to JSON');
}
});
// }
}
function select (obj, query) {
return bquery.json.select(obj, query);
}