V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
cstome
V2EX  ›  问与答

写一个文件(主要是 HTML)批量处理脚本,用什么语言比较好?

  •  
  •   cstome · 2017-03-17 16:49:22 +08:00 · 2098 次点击
    这是一个创建于 2601 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近想写个文件处理脚本,主要面向 HTML 文件,有一下需求:

    1. 去除特定字符串,

    2. 匹配替换特定字符串,

    3. 匹配 HTML 头部<head>标签内相同的地方,并抽取出来,

    ...暂时想到这些。

    不知道用 Python 写比较好还是 NodeJS 比较好。由于我是做前端的,对 JS 比较熟,但是 NodeJS 的库似乎没有 Python 多。。。

    或者大家知道有我这种需求的相关的库也可以推荐一下。

    第 1 条附言  ·  2017-03-17 17:29:47 +08:00
    其实后面可能还要涉及到一些比对、判断,并不是简单匹配和替换(虽然我现在也想不出哪些具体需求),所以才提这个问题。
    22 条回复    2017-03-17 22:15:32 +08:00
    newbieo0O
        1
    newbieo0O  
       2017-03-17 16:56:14 +08:00
    Python. so easy
    imn1
        2
    imn1  
       2017-03-17 16:57:22 +08:00
    如果不需要并行的话, shell 就足够了
    sensui7
        3
    sensui7  
       2017-03-17 17:02:09 +08:00
    Perl
    cstome
        4
    cstome  
    OP
       2017-03-17 17:05:13 +08:00
    可能还会要一些 DOM 操作,由于分析判断如何处理。
    learnshare
        5
    learnshare  
       2017-03-17 17:06:45 +08:00
    Node + Phantom
    Tink
        6
    Tink  
       2017-03-17 17:07:05 +08:00
    python
    xycool
        7
    xycool  
       2017-03-17 17:09:18 +08:00
    为什么感觉用 c#很简答啊,[认真脸]
    SuperMild
        8
    SuperMild  
       2017-03-17 17:22:26 +08:00
    这些简单功能不用库又何妨
    pandacat
        9
    pandacat  
       2017-03-17 17:28:06 +08:00 via Android
    sed ?
    scnace
        10
    scnace  
       2017-03-17 17:37:07 +08:00 via Android
    楼上别争了 这是个#熟悉什么语言就用什么语言#的 case
    dishonest
        11
    dishonest  
       2017-03-17 18:07:33 +08:00
    @scnace +1

    当然我还是推荐用 python
    golmic
        12
    golmic  
       2017-03-17 18:21:17 +08:00 via Android
    python
    jimliang
        13
    jimliang  
       2017-03-17 18:27:32 +08:00
    用你最熟悉最上手的语言就行了,怎么方便怎么来
    airyland
        14
    airyland  
       2017-03-17 18:43:13 +08:00 via iPhone
    这好像不需要库吧,上 js 咯。
    hd7771
        15
    hd7771  
       2017-03-17 19:28:42 +08:00 via Android
    有个算法叫 ac 自动机满足你的要求
    bdbai
        16
    bdbai  
       2017-03-17 20:02:49 +08:00 via Android   ❤️ 1
    Nodejs 有个库 cheerio 类似 jQuery 可以快速处理 DOM ,强烈推荐。
    Daniel65536
        17
    Daniel65536  
       2017-03-17 20:41:22 +08:00 via iPhone   ❤️ 2
    如果熟悉 js ,就用 js ,否则用 python+lxml

    记住如果你的输入不是高度同质且确定的,比如不是同一个网址 pid 不同,而是那种真爬虫随意爬的,那么就别用基于 regex 的方式去搞,因为 html 不是正则语言, regex 处理不了各种边际情况,尽量用基于 xml 解析的库去做。
    misaka19000
        18
    misaka19000  
       2017-03-17 20:48:35 +08:00 via Android
    不用 Python 天理不容
    exoticknight
        19
    exoticknight  
       2017-03-17 21:22:47 +08:00
    python 和 node 都用过
    python
    binux
        20
    binux  
       2017-03-17 21:27:29 +08:00
    jsdom
    klesh
        21
    klesh  
       2017-03-17 21:58:06 +08:00 via Android
    1 ,你的需求 node 能更好地解决
    2 ,你更熟悉 node
    jiangzhuo
        22
    jiangzhuo  
       2017-03-17 22:15:32 +08:00
    node 库没 py 多是怎么回事
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2301 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:15 · PVG 15:15 · LAX 00:15 · JFK 03:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.