从lxml.etree._Element获取值

0 投票
1 回答
1506 浏览
提问于 2025-04-18 15:03

有以下内容:

from lxml import html
import io
from lxml import etree

parser = etree.HTMLParser() 
doc   = etree.parse(io.FileIO("index.html"), parser)
i=1

total = []

aa = doc.xpath(".//body/table[10]")
for x in aa:
    for j in x:
        for k in j:
            print type(k) #output is <type 'lxml.etree._Element'>
            print k.text

这是一个html文件的一部分:

http://pastebin.com/2eftj9qL

这将显示:

/Request_number_1
15
0
100.00%
1035 ms
923 ms
1407 ms
None


/Request_number_2
15
0
100.00%
966 ms
857 ms
1613 ms
None

我该如何遍历这个lxml元素?我想获取第一个以毫秒表示的值(例如,average_time_array = [1035 ms, 966ms])

1 个回答

1

你可以试试这个xpath表达式:.//body/table[1]/tr/td[5]

average_time_array = [td.text for td in doc.xpath(".//body/table[10]/tr/td[5]")]
print average_time_array

撰写回答