簡體   English   中英

如何使用 Node.js 從 HTML 字符串中剝離所有腳本元素?

[英]How Do I Strip All Script Elements From HTML Strings Using Node.js?

我正在使用 Node.js 和 Puppeteer 構建刮板。 在這種情況下,Puppeteer 獲取頁面的主要內容,將其保存為字符串,Rss Parser 將其轉換為 RSS 提要,創建 XML 文件,並將該文件保存為包含抓取內容的物理文件。 問題是,如果抓取的內容包含 Adsense 代碼等腳本元素,它也會被抓取。 我需要一個簡單的正則表達式,它將刪除任何腳本元素及其所有屬性以及介於兩者之間的所有內容。

我一直在尋找一個簡單的例子,它可以讓我做一些事情,比如:

var content = scrapedcontent;
content = content.replace(myregex, '');

我找不到適合我的例子。 到目前為止,我發現的最接近的東西建議使用 jQuery。 我不能使用 jQuery,因為這是一個 Node.js 項目,它不包含 jQuery 庫,我不想將 ZF590B432C30BE28D3C 字符串添加到 outCCC5 字符串。

另外,請不要用關於正則表達式及其字符含義的講座來回應。 對我來說,這就是全部。 我只需要找到說“這是正則表達式,這就是它的作用,復制並粘貼你就完成了”的東西。

使用https://www.npmjs.com/package/cherio

實現專為服務器設計的核心 jQuery。

獲取 jQuery 樣式的元素並擺脫它們

const cheerio = require('cherio')
const $ = cheerio.load(scrapedcontent);
$('.abc').remove(); // your selector
const newHtml = $.html();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM