所以我有一个我想要抓的网站,结构如下:
<p><strong>some headline:</strong> some content etc. blabla </p>
<p><strong>some other headline:</strong> some more content etc. blabla </p>
// and so on...
我用cheerio刮擦它如下:
$('p strong').each(function(i, element){
console.log($(this).text());
//gets me the headline
console.log("Parent:" + $(this).parent().text());
//gets me the content, but unfortunately, also the headline again
});
现在,我只是记录了所有内容,但后来我想保存标题&amp;内容在单独的变量中。但是,由于标题(在<strong>
标签中找到)也是<p>
标签的一部分,我的第二个命令(打算只获取内容,没有标题,因为我已经抓住了那个)不仅获得了内容,还获得了标题。如何分隔或删除<strong>
标记中的所有内容,并将所有其余内容保存在<p>
标记中,即仅保存内容?
答案 0 :(得分:1)
删除标题元素可能最简单:
.post(function(req, res) {
var r = req.body;
var i = 0;
async.whilst(
function() { return i < r.measurements.length; },
function(callback) {
Sensor.findByIdAndUpdate(
r.measurements[i][0],
{
$push: { measurements: { t: r.timestamp, v: r.measurements[i][1] } },
$set: { unit: r.measurements[i][2] }
},
{ upsert: true, new: true, safe: true },
function (err, result) {
if(err) console.log(err);
i++;
callback(err,result);
}
);
},
function(err) {
if(err) console.log(err);
}
);
})