V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JCZ2MkKb5S8ZX9pq
V2EX  ›  程序员

xpath 怎么取出 html 原文?

  •  
  •   JCZ2MkKb5S8ZX9pq · 2019-03-13 17:04:02 +08:00 · 2024 次点击
    这是一个创建于 2071 天前的主题,其中的信息可能已经有所发展或是发生改变。
    <div class="a">
        <a href="123.jpg">sample</a>
    </div>
    

    假设有这样一个 html,我要提取 div 中间的 html 原文,如:

    <a href="123.jpg">sample</a>
    

    要这段 html 原文,而不是 text 之类的东西,这个该怎么做?
    用了 xpath 停久了,第一次碰到这个需求,查了一圈关键字 xpath + html + 各种关键字结果都挺乱的,来 v2 请教一下。

    6 条回复    2019-03-13 21:05:13 +08:00
    jayong
        1
    jayong  
       2019-03-13 18:00:33 +08:00
    //div[@class='a']
    aaa5838769
        2
    aaa5838769  
       2019-03-13 18:26:06 +08:00
    //div[@class='a']/a/text() 不知道对不对,很久没用了
    aaa5838769
        3
    aaa5838769  
       2019-03-13 18:27:06 +08:00
    当我上面语句没说- - 没仔细看完、
    Nick2VIPUser
        4
    Nick2VIPUser  
       2019-03-13 18:31:53 +08:00 via iPhone   ❤️ 1
    etree.tounicode()
    etree.tostring()
    JCZ2MkKb5S8ZX9pq
        5
    JCZ2MkKb5S8ZX9pq  
    OP
       2019-03-13 18:58:56 +08:00
    @Nick2VIPUser 嗯,后来我自己搜到这个 tostring,还有 tounicode 哦,我试试去。

    题目没说完整,的确是 python etree。
    Lax
        6
    Lax  
       2019-03-13 21:05:13 +08:00
    echo '<div class="a">
    <a href="123.jpg">sample</a>
    </div>' | nokogiri -e 'puts $_.xpath("//div[@class=\"a\"]").inner_html'
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5613 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:36 · PVG 09:36 · LAX 17:36 · JFK 20:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.