我想监控网站上的变化,而我目前的方法被旋转的顶部横幅所挫败。是否有一个 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&tab=wv" class="gb1">Videos</a>
答案2
使用以下方式编写 Perl 脚本轻量级工作计划和HTML::TreeBuilder::XPath也许。