UNIX 工具用于转储选定的 HTML 内容?

UNIX 工具用于转储选定的 HTML 内容?

我想监控网站上的变化,而我目前的方法被旋转的顶部横幅所挫败。是否有一个 UNIX 工具可以接受选择参数(id 属性或 XPath),从 stdin 读取 HTML 并根据选择将子树打印到 stdout?

例如,给定一个 html 文档,我想用 过滤掉除元素子树之外的所有内容id="content"。基本上,我正在寻找与 grep 等效的最简单的 HTML/XML。

答案1

可能不是你想要的,但是用 Python 编写一个快速脚本怎么样?美丽的汤处理 HTML,并为您提供一个可以访问内容的合理结构的对象。

import urllib2
from BeautifulSoup import BeautifulSoup as BS
soup = BS(urllib2.urlopen('http://www.google.com').read())
soup.findAll('a')[1]
#returns
<a onclick="gbar.qs(this)" href="http://video.google.co.uk/?hl=en&amp;tab=wv" class="gb1">Videos</a>

答案2

使用以下方式编写 Perl 脚本轻量级工作计划HTML::TreeBuilder::XPath也许。

相关内容