删除 sed 或类似文件中的 html 标签 [英] Delete html tags in sed or similar

查看:21
本文介绍了删除 sed 或类似文件中的 html 标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从网页中获取表格内容.我只是需要内容而不是标签.我什至不需要tr"或td"只是内容.例如:

I am trying to fetch contents of table from a wepage. I jsut need the contents but not the tags <tr></tr>. I don't even need "tr" or "td" just the content. for eg:

<td> I want only this </td>
<tr> and also this </tr>
<TABLE> only texts/numbers in between tags and not the tags. </TABLE>

我也想把这样的第一列输出放在一个新的 csv 文件中列 1、信息 1、信息 2、信息 3comun2,info1,info2,info3

also I would like to put the first column output like this in a new csv file column1,info1,info2,info3 coumn2,info1,info2,info3

我尝试使用 sed 删除模式 <tr> <td> 但是当我获取 table 时,还有其他标签,如 等等 所以我想要的是删除所有标签;简而言之,<和 > .

I tried sed to deleted patters <tr> <td> but when I fetch table there are also other tags like <color> <span> etc. so I want is to delete all the tags; in short everything with < and > .

推荐答案

sed 's/<[^>]+>//g' 会去掉所有标签,但是您可能想用空格替换它们,这样彼此相邻的标签就不会一起运行: onetwo 变成:onetwo.所以你可以做 sed 's/<[^>]+>//g' 这样它就会输出 one two (嗯,实际上 一二).

sed 's/<[^>]+>//g' will strip all tags out, but you might want to replace them with a space so tags that are next to each other don't run together: <td>one</td><td>two</td> becoming: onetwo. So you could do sed 's/<[^>]+>/ /g' so it would output one two (well, actually one two).

也就是说,除非您只需要原始文本,而且听起来您正在尝试在剥离标签后对数据进行一些转换,否则像 Perl 这样的脚本语言可能更适合使用这种工具.

That said unless you need just the raw text, and it sounds like you are trying to do some transformations to the data after stripping the tags, a scripting language like Perl might be a more fitting tool to do this stuff with.

由于 mu 太短,提到抓取 HTML 可能有点冒险,使用实际为您解析 HTML 的东西将是执行此操作的最佳方法.PHP DOM API 非常适合这类事情.

As mu is too short mentioned scraping HTML can be a bit dicey, using something that actually parses the HTML for you would be the best way to do this. PHPs DOM API is pretty good for these kinds of things.

这篇关于删除 sed 或类似文件中的 html 标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆