使用xpath进行bash XHTML解析
发布时间:2020-12-15 19:00:00 所属栏目:安全 来源:网络整理
导读:我正在编写一个小脚本来学习如何解析XHTML网页.以下命令: cat q?s=goog.xhtml | xpath '//span[@id="yfs_l10_goog"]' 收益: Found 2 nodes:-- NODE --span id="yfs_l10_goog"624.50/span-- NODE --span id="yfs_l10_goog"624.50/span 我如何: 需要编写我
我正在编写一个小脚本来学习如何解析XHTML网页.以下命令:
cat q?s=goog.xhtml | xpath '//span[@id="yfs_l10_goog"]' 收益: Found 2 nodes: -- NODE -- <span id="yfs_l10_goog">624.50</span>-- NODE -- <span id="yfs_l10_goog">624.50</span> 我如何: >需要编写我的命令才能提取值624.50? 源页面我正在解析:http://finance.yahoo.com/q?s=goog
编辑2:
尝试一下: xpath -q -e '//span[@id="yfs_l10_goog"][1]/text()' 编辑: 管道您的输出: sed -n '/span/{s/<span[^<]*>([^<]*)<.*/1/;p;q}' 原始答案: 使用 echo -e '<foo><span id="yfs_l10_goog">624.50</span>n<bar>xyz</bar><span id="yfs_l10_goog">555.50</span>n<span id="yfs_l10_goog">123.50</span></foo>' | xmlstarlet sel -t -v "//span[@id='yfs_l10_goog']" 查询结果: 624.50 回声结果: <foo><span id="yfs_l10_goog">624.50</span> <bar>xyz</bar><span id="yfs_l10_goog">555.50</span> <span id="yfs_l10_goog">123.50</span></foo> xml的结果: <?xml version="1.0"?> <foo> <span id="yfs_l10_goog">624.50</span> <bar>xyz</bar> <span id="yfs_l10_goog">555.50</span> <span id="yfs_l10_goog">123.50</span> </foo> 其他查询: $echo -e '...' | xmlstarlet sel -t -v "//span[@id='yfs_l10_goog'][1]" 624.50 $echo -e '...' | xmlstarlet sel -t -v "//span[@id='yfs_l10_goog'][3]" 123.50 $echo -e '...' | xmlstarlet sel -t -v "//span[@id='yfs_l10_goog'][last()]" 123.50 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |