2013-05-10 38 views
0

我正在使用的bash shell脚本一个项目。这个想法是grep一个wget检索页面,以便在网页上找到某个段落。我想复制的区域,通常有一个过滤掉HTML代码使用grep

<p><b> 

启动,但该段还包含HTML代码的其他位,如锚标签,我不希望在grep的输出。
我试图

cat page.html| grep "<p><b>" >grep.txt 

,然后我用grep输出文件,它现在包含段落我想

cat grep.txt|grep -v '<p>|<b>|<a>' >grep.txt 

但后来它的作用是明显的一切从文件,而不是读什么。我怎样才能让它只排除HTML代码?

我也试图遵循在我的grep段落的联系,以做同样的事情与这些网页。只有2层深,所以主页面,然后是主页面的第一段的任何子页面。我知道这是一个困难的想法,希望我解释得很好,以获得一些帮助。如果你有任何想法,任何帮助表示赞赏。

回答

1

你必须这样做在bash?在我看来了Python会借给自己这个问题,特别是库调用Beautiful Soup

我以前用这个解析HTML,它是我能找到的最简单的工具。它有很好的documentation for dealing with html

也许你可以做一个独立的python代码,提取HTML然后回显你之后的字符串。然后可以从你的bash脚本中调用python代码,如果你有一些bash函数要对字符串执行的话。

+0

这是一个好主意,除了我从来没有在python中学过任何东西。这不是一个大问题,我只需要努力一点。 – eragon2262 2013-05-12 01:27:12