我有以下的HTML代码:
Chairman of MicrosoftCo-Chair of the Bill & Melinda Gates Foundation
Director of Berkshire Hathaway
对于上面的td元素,语义上有五行,用""分隔,我想把这五行看作:
Chairman of Microsoft
Chariman of Borbis
Co-Char of the Bill&Melinda Gates Fundation
Creative Director of Berkshire Hathaway
CEO of Cascade Investment目前,我的解决方案是首先获取td中的所有br,如下所示:
br_value = td_node.select('.//br')那么对于每个br_value,我使用下面的代码来获取所有文本:
for br_item in br_value:
one_item = br_item.select('.//preceding-sibling::*/text()').extract()在这种情况下,我可以将该行作为:
Chairman Microsoft
Chariman Borbis
Bill&Melinda Gates Fundation
Director Berkshire Hathaway
CEO Cascade Investment与我想要的原文相比,他们基本上错过了“的”,还有一些其他的文字。
其原因是“先兄弟”只返回兄弟标签,但不能返回属于其父项的“文本”,如本例中的“of”。
这里的任何人都知道如何提取由br标记分隔的完整信息?
谢谢