temme 是一个类 jQuery 的选择器,用于简洁优雅地从 HTML 文档中提取所需的 JSON 数据。
例子
<!-- 下面用到的 html 的内容 --> <ul> <li data-fruit-id="1"> <span data-color="red">apple</span> </li> <li data-fruit-id="2"> <span data-color="white">pear</span> </li> <li data-fruit-id="3"> <span data-color="purple">grape</span> </li> </ul>
对于上面的 html,我们可以使用下面的 temme 选择器来提取「水果颜色和名称的列表」。(在线版本链接)
import temme from 'temme' // 使用 commonjs 导入时需要加上 .default // const temme = require('temme').default const selector = `li@fruits { span[data-color=$color]{$name}; }` temme(html, selector) //=> // { // "fruits": [ // { "color": "red", "name": "apple" }, // { "color": "white", "name": "pear" }, // { "color": "purple", "name": "grape" } // ] // }
如果你对 temme 还不熟悉,那么可以从 豆瓣电影的例子 开始。在线版本中也包含了一些其他较短的例子。比如这个例子从豆瓣电影页面中抓取了电影的基本信息和评分信息。这个例子从天猫的商品详情页面中抓取了评论列表,包括用户的基本信息,初次评价和追加评价, 以及晒的照片的链接.