我正在使用cheerio的.map方法抓取网页。页面的 html 代码如下所示:
<div class="foo">
<h1>Lorem</h1>
<p>Lorem ipsum dolor sit amet.</p>
TEXT WITHOUT TAG
<p>Lorem ipsum dolor sit amet.</p>
</div>
这是我的工作:
let $ = cheerio.load(body);
let contentHtml = $('foo').html();
$(contentHtml).map((index, element) => {
console.log(element);
});
当 .map 看到"没有标签的文本"时,它会抛出如下错误:
Unmatched selector: ...
这是意料之中的,因为它没有任何选择器。我想用<p>
标签包装纯文本,但我不知道怎么做。
你的元素有类foo
,选择器没有:
let contentHtml = $('.foo').html();