【发布时间】:2015-11-07 18:12:32
【问题描述】:
我想提取phtml 元素中的所有数据,但只对“标题”进行不同处理,例如:<strong>header1</strong>。
有没有办法用python lxml 做到这一点?
使用以下代码:
parser = etree.HTMLParser(target=MyParser())
etree.HTML(htmlContent, parser)
虽然class MyParser 是:
class MyParser(object):
def start(self, tag, attrib):
pass
def end(self, tag):
pass
def data(self, data):
--> Here, differentiate between "normal data" and <strong>data</strong>
def close(self):
pass
html 示例:
<div class="entry-content clearfix">
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>header1</strong></span>:<br />
data data 1...</p>
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>header2</strong></span>:<br />
data data 2...</p>
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>header3</strong></span>:<br />
data data 3...<br />
data data 3...<br />
data data 3...</p>
</div>
我想做的例子:
假设我在 string 中汇总了所有数据,并且只想突出显示标题。
现在我无法区分,所以我的字符串就像:
header1 data data data 1... header2 data data data 2...
我想突出显示它,所以它会是这样的:
[[header1]] data data data 1... [[header2]] data data data 2...
【问题讨论】:
-
but to treat differently only to the "headers" such as: <strong>header1</strong>是什么意思?你能解释一下吗? -
您能否至少展示一下示例输入的预期结果?
-
假设我在
string中汇总了所有数据,并且我只想突出显示标题。现在我无法区分,所以我的字符串就像:header1 data data data 1... header2 data data data 2...。我想这样强调它:[[header1]] data data data 1... [[header2]] data data data 2...