我有一些html文件,希望提取一些标记之间的内容:
页面标题
这里有些标记的内容。

<p>A paragraph comes here</p>
<p>A paragraph comes here</p><span class="more-about">Some text here</span><p class="en-cpy">Copyright &copy; 2012 </p>

我只想要这些标签:head,p
但正如在第二段中可以看到的,最后一个标记以p开头,但不是我的愿望标记,我不想要它的内容。
我使用下面的脚本来提取我想要的文本,但是我不能过滤掉这些标记,比如我的示例中的最后一个。。。。如何提取<p>标记?
grep "<p>" $File | sed -e 's/^[ \t]*//'

我不得不补充一点,最后一个标记(我不想出现在输出中)就在我想要的一个标记之后(在我的示例中),并且使用grep命令,该行的所有内容都将作为输出返回。。。(这是我的问题)

最佳答案

不要。尝试使用regex来解析HTML将是painful。使用类似于RubyNokogiri或您熟悉的类似语言+库。

关于html - 在HTML文件中查找特定标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11288244/

10-13 08:45
查看更多