lxm中属性和样式标记的区别

2024-04-26 13:22:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着在使用了beauthoulsoup之后学习lxml。然而,我并不是一个很强的程序员。在

我在一些源html中有以下代码:

<p style="font-family:times;text-align:justify"><font size="2"><b><i> The reasons to eat pickles include:  </i></b></font></p>

因为文本是粗体的,所以我想把它拉出来。我好像分不清那一行是粗体的。在

当我今晚开始这项工作时,我正在处理一个文档,该文档的attrib样式中的单词为bold,如下所示:

^{pr2}$

我应该说,我使用的文档是一个片段,我阅读了行,将行连接在一起,然后使用html.fromstring功能

txtFile=open(r'c:\myfile.htm','r').readlines()
strHTM=''.join(txtFile)
newHTM=html.fromstring(strHTM)

我上面的第一行htm代码是newHTM[19]

哼,这似乎让我更亲近了

newHTM.cssselect('b')

我还不完全明白,但解决方法如下:

for each in newHTM:
    if each.cssselect('b')
        each.text_content()

Tags: 代码text文档htmllxml程序员eachfont
1条回答
网友
1楼 · 发布于 2024-04-26 13:22:55

使用cssapi确实不是正确的方法。如果你想找到所有的b元素,就去做

strHTM=open(r'c:\myfile.htm','r').read() # no need to split it into lines first
newHTM=html.fromString(strHTM)
bELements = newHTM.findall('b')
for b in bElements:
    print b.text_content()

相关问题 更多 >