我正在寻找一种方法来获取在unix服务器上发布的1000多个html文件中的标记(通过apache运行),并用空节点或备用html标记替换标记。
前:
查找
<div id="someComponent"> .....{a bunch of interior markup} .... </div>
替换为{empty}
前2:
查找</div></body>
替换</div>{some HTML markup needed here}</body>
答案 0 :(得分:1)
一种方法:使用带BeautifulSoup的Python来解析HTML文件,进行替换并回写。
答案 1 :(得分:1)
如果它非常简单(不需要解析,标记众所周知,而不是另一个),最快的方法应该是:
(在Zsh或Bash中)
perl -pi -e 's#<div class="toto">.*?</div>#<span>new content</span>#g' /path/to/files/**/*.html(.)
这应该可以解决所有...<div class="toto">.....</div>...
之间的问题
...<span>newcontent</span>...
但请注意,它不适用于...<div class="toto"> ... <div class="toto"> ... </div> ... </div> ....
答案 2 :(得分:0)
如果在所有文件中以相同的方式编写标记,sed
或perl
将比BeautifulSoup等更快,但在各种方式上也更难灵活以文本形式表达相同的HTML标记。
您是否有更具体的例子说明您正在寻找什么样的标记,理想情况下它可能因文件而异?它会在文件中的哪个位置?另外,如果有必要,可以在过程中对HTML进行美化或整理吗?
哦,你在服务器上运行某些东西,还是需要代码来抓取服务器以检索HTML文件进行处理?