解析当前页面的html

时间:2016-09-23 19:08:32

标签: javascript html google-chrome parsing tampermonkey

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

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

是否有可以在Chrome上运行的javascript html解析器?

可能会有这样的事情吗?

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

3 个答案:

答案 0 :(得分:1)

  

过滤掉某些div类

您可以使用document.getElementsByClassName()

var elements = document.getElementsByClassName(names); // or:
var elements = rootElement.getElementsByClassName(names);
     
      
  • 元素是找到元素的实时HTMLCollection
  •   
  • names 是一个字符串,表示要匹配的类名列表;类名由空格分隔
  •   
  • getElementsByClassName可以在任何元素上调用,而不仅仅在文档上调用。调用它的元素将用作根   搜索。
  •   

答案 1 :(得分:1)

Jquery可以完成所有这些以及更多。我建议你阅读https://learn.jquery.com/

一旦你包含了jquery一个简单的抓取所有“div”元素选择器将是这样的: var divClasses = $('div'); 如果您只想获取某些div元素,可以使用选择器轻松地执行此操作,方法是向选择器添加class,id和/或父级/层次结构级别限制 - 在此处阅读更多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'函数

答案 2 :(得分:0)

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