我正在用selenium和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因为我总是可以用结果字符串进行拆分,但这不是很优雅
答案 0 :(得分:0)
这是关于这个问题的另一篇文章:
如果您使用的是bs4,则可以使用strings
:
" ".join(result.strings)
答案 1 :(得分:0)
在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"