在一个标记内,在另一个标记后获取文本

2024-06-26 03:21:44 发布

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

我´我正在用硒和bs4和我刮一些网´我需要一些优雅的代码来完成以下工作。我在标签里有一些文字

<td><a href="javascript:Team(14654)"><span class="hp">1</span>SJK Seinajoen</a></td

如果我这么做

find('td').get_text()

我得到的是

1SJK Seinajoen

当它获取所有文本时,包括span标记中的内容。我的问题是,有没有什么方法可以以pythonic的方式将文本放在span标记之后的标记中

我之所以说pythonic,是因为我总是可以用得到的字符串进行拆分,但这不是很优雅


Tags: 代码标记文本标签javascriptpythonicteamclass
2条回答

这是另一篇关于这个问题的帖子:

如果您使用的是bs4,则可以使用strings

" ".join(result.strings)

lxml.html中,您可以使用以下代码获得所需的输出:

from lxml import html

source = """<td><a href="javascript:Team(14654)"><span class="hp">1</span>SJK Seinajoen</a></td>"""
html = html.fromstring(source)  # pass web page HTML source code as "source" var
print(html.xpath("//a/text()")[0])

输出

"SJK Seinajoen"

相关问题 更多 >