删除特定标签和文本 - cheeriojs

时间:2017-09-06 03:49:24

标签: node.js web-scraping cheerio

我正在尝试删除我正在抓取的html文件中的非常具体的标记和文本。有没有人知道如何一起搜索和删除这个特定的标签和文本?

<p class="align-left">&#xA0; Scheduled Arrival Time</p>

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式将特定元素替换为其内容。 随时编辑正则表达式以满足您的需求。它选择任何带有'align-left'类的p标签。

var pattern = /<(p)\s*class\s*=\s*['\"]\s*align-left\s*['\"]\s*[^<]*<\/\1\s*>/g;
var content = "this is<p class=\"align-left\">&#xA0; Scheduled Arrival Time</p> a line !";
content = content.replace(pattern, "");
console.log(content);

如果您需要检查特定标签中是否存在文本,可以使用:

var pattern = /<(p)\s*class\s*=\s*['\"]\s*align-left\s*['\"]\s*>[^<]*(Arrival Time)[^<]*<\/\1\s*>/g;
var content = "this is<p class=\"align-left\">&#xA0; Scheduled Arrival Time</p> a line !";
var test2 = "im not <p class=\"align-left\">&#xA0; Scheduled</p> a line !";
content = content.replace(pattern, "");
console.log(content);
console.log(test2);