解析当前页面的 html

Parse html of current page

我想制作一个脚本来解析当前页面的 html,过滤掉某些 div 类,现在将它们的内容写入文件或删除页面上除它们之外的所有内容。

我想最好的方法是 运行 该页面上的 Tampermonkey 脚本。我查看了 http://userscripts-mirror.org/ 但没有找到这样的脚本。

是否有 javascript html 解析器可以 运行 on chrome?

也许可以像这样工作?

 var divClasses = parseCurrentPage("div class x");
 // then do something on divClasses and then show only them

我相信您可以使用 jQuery 轻松实现...只需获取 <body> 的内容并使用 jquery 进行查询即可。

filtering out certain div classes

您可以使用 document.getElementsByClassName()

var elements = document.getElementsByClassName(names); // or:
var elements = rootElement.getElementsByClassName(names);
  • elements is a live HTMLCollection of found elements.
  • names is a string representing the list of class names to match; class names are separated by whitespace
  • getElementsByClassName can be called on any element, not only on the document. The element on which it is called will be used as the root of the search.

Jquery 可以做到这一切甚至更多。我建议您仔细阅读 https://learn.jquery.com/

包含 jquery 后,一个简单的抓取所有 "div" 元素选择器将如下所示: var divClasses = $('div'); 如果你只想抓取某些 div 元素,你可以使用选择器轻松地做到这一点,或者通过向选择器添加 class、id、and/or parent/hierarchy 级别限制 - 阅读更多这里https://api.jquery.com/category/selectors/

然后在你对 div 元素做了你想做的事情之后,你可以再次使用 jquery 来仅使用 jquery 的 'append' 函数显示它们.

使用要附加到父 html 元素的 div 元素简单地调用 'append' 函数 $('selector-to-grap-div\'s-parent-html').append(myDiv); 如果您需要获取 div 元素之一的父元素,那么您可以使用 jquery 的 'parent' 函数