javascript - 您知道开源 Javascript 提取/正则表达式引擎吗?

标签 javascript regex browser frameworks browser-extension

我们需要一个 DOM 解析器,它能够运行一堆模式并存储结果。为此,我们正在寻找开放的库,我们可以开始,

  • 能够通过正则表达式选择元素(例如抓取类、id、元属性等其他属性中包含“价格”的所有元素),
  • 应该有很多帮助器,例如:删除评论、iframe 等
  • 而且要相当快。
  • 可以从浏览器扩展程序运行。

最佳答案

好吧,我会说:
您可以使用jQuery

上升:

  • 这是一个非常好的 dom 解析器
  • 它非常擅长操作 dom(删除/添加/编辑元素)
  • 它有一个很棒且直观的 API
  • 它有一个庞大而优秀的社区 => 对于任何 jquery 相关问题都有很多答案
  • 它适用于浏览器扩展(我自己在 chrome 中测试过,它显然也适用于 ff 扩展:How to use jQuery in Firefox Extension)
  • 它是轻量级的(大小约为 31KB - 缩小并压缩)
  • 它是跨浏览器的
  • 它绝对是开源的

下降:

  • 它不依赖正则表达式(尽管这是一件非常好事 - 正如 dda 已经提到的),但正则表达式可用于过滤元素
  • 不知道它是否可以访问/操纵评论

这是一些 jquery 操作的示例:

// select all the iframe elements with the class advertisement 
// that have the word "porn" in their src attribute
$('iframe.advertisement[src*=porn]')
    // filter the ones that contains the word "poney" in their title 
    // with the help of a regex
    .filter(function(){
        return /poney/gi.test((this.title || this.document.title).test()));
    }) 
        // and remove them
        .remove()
        // return to the whole match
        .end()
    // filter them again, this time 
    // affect only the big ones
    .filter(function(){
        return $(this).width() > 100 && $(this).height() > 100;
    })
        // replace them with some html markup
        .replaceWith('<img src="harmless_bunnies_and_kitties.jpg" />');

关于javascript - 您知道开源 Javascript 提取/正则表达式引擎吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10821899/

相关文章:

javascript - 如何为点击的文本框创建不同的数据ID

javascript - 在 Puppeteer 中,如何获取选择器的 innerHTML?

Python Regex - 如何将给定的正则表达式模式限制为一定范围的字符

http - 当您不将 HTTP cookie 写回客户端时发生了什么?

java - 如何使用 Java 应用程序监控 PC 中任何浏览器的网络流量

php - ajaxSubmitButton 在 Linux 服务器上不起作用

javascript - 当用户调整文本区域大小时 onfocus 中断

javascript - 将任意数量的字符替换为另一个字符

regex - 具有可选 1、2 或 3 个值的简单 IIS 7 正则表达式

jquery - 如何防止 jquery Ajax 调用滚动带有输入到浏览器窗口顶部的表单