表示html文档的开始和结束,一旦我使用lxml确定了html文档一节的开始和结束部分,如何获得它们之间的所有内容...

本着这样的精神,我已经找到了我认为最好的答案,并将自己张贴出来。在import lxml

from lxml import html

testFile=open(r'c:\temp\testlxml.htm').read()

aTree=html.fromstring(testFile)

bolds=aTree.cssselect('b')

theTitles=[item.text for item in bolds if item.text if 'KEY' in item.text]

theBoldKeys=[item for item in bolds if item.text if 'KEY' in item.text]

theFullList=[]

for e in aTree.iter():

theFullList.append(e)

for numb,item in enumerate(theFullList):

if item==theBoldItems[0]:

first=numb

if item==theBoldItems[1]:

second=numb

theText=[]

for item in theFullList[first:second]:

if item.text:

theText.append(item.text)

if item.tail:

theText.append(item.tail)

aString=' '.join(theText)

一点解释。在

我的目标是将一些逻辑应用到文档的粗体部分,因为其中包含单词KEY的粗体部分定义了文档的不同部分。标题是包含单词“KEY”的粗体元素列表。根据我的特殊需要,我可能需要标题中任意两个项目之间的所有文本,我可以创建测试和必要的逻辑从标题中选择项目。在

bolditems是实际元素的列表,对于任何i theTitles[i]==theBoldItems[i].text

接下来我得到完整的列表,它是树中所有的htm元素。因为LXML按照顺序构建树,我知道我想要捕获所有元素bolditems[I]和bolditems[I+1]。好在Python构建测试的方式非常简单。在

我现在可能还需要清除这两个文本之间的所有内容。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值