V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
feichao
V2EX  ›  Node.js

分享一个自己写的工具, 用来从 HTML 文档中提取 JSON 数据

  •  
  •   feichao · 2017-11-30 12:37:19 +08:00 · 4701 次点击
    这是一个创建于 2578 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Temme在 CSS/jQuery 选择器语法上添加了一些自定义的语法, 用于从 HTML 文档中提取想要的 JSON 数据. Temme 基于 cheerio, 支持一次性选取多个字段或者一个列表, 比较适用于已经使用 cheerio 的 Node 爬虫.

    playground

    豆瓣短评网页例子

    最近和 puppeteer 配合使用感觉还是蛮爽的, 打开一个网页, 写一个选择器就可以直接选取出所有想要的 JSON 数据了😄. 欢迎 fork&star, 或者提一些改进意见

    7 条回复    2017-12-04 13:42:32 +08:00
    jianguiqubaa
        1
    jianguiqubaa  
       2017-12-01 09:25:54 +08:00
    这个方式挺有意思的! 不过要是命令行能很好的支持就好了。。。
    之前用 pup 处理 html, 解析完之后的东西还需要在处理一下, 要是能直接出 json, 就能和 jq 之类的命令一起用了
    feichao
        2
    feichao  
    OP
       2017-12-01 10:43:10 +08:00
    @jianguiqubaa 嗯, 命令行也是一个很合适的使用场景, 之前一直在写爬虫, 想着只是个 Node 的工具. 这几天添上命令行工具.
    feichao
        3
    feichao  
    OP
       2017-12-02 01:55:05 +08:00   ❤️ 1
    @jianguiqubaa 已经支持命令行了. 用法参考了一下 pup. https://github.com/shinima/temme-showcase#命令行 api
    jianguiqubaa
        4
    jianguiqubaa  
       2017-12-04 09:08:21 +08:00
    @feichao 真是速度!

    我试用了一下, 发现用了 Object.entties, 只能 7 以上的版本能用么, 版本要求有点高啊!
    feichao
        5
    feichao  
    OP
       2017-12-04 13:05:07 +08:00
    @jianguiqubaa
    刚改了改用法, CI 也显示 node 6.12.0 可以用了. https://travis-ci.org/shinima/temme/builds/311130645
    重新安装就可以用了😄
    jianguiqubaa
        6
    jianguiqubaa  
       2017-12-04 13:34:26 +08:00
    @feichao

    真是快!待我使用一段时间后给你使用反馈~
    feichao
        7
    feichao  
    OP
       2017-12-04 13:42:32 +08:00
    @jianguiqubaa 好的, 谢谢. 学生党每天挂在电脑前, 看看书写写代码, 比较闲 o(* ̄▽ ̄*)ブ
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1600 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:44 · PVG 00:44 · LAX 08:44 · JFK 11:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.