Elv*_*uza 6 python beautifulsoup
从这个HTML源:
<div class="category_link">
Category:
<a href="/category/personal">Personal</a>
</div>
Run Code Online (Sandbox Code Playgroud)
我希望提取文本 Category:
以下是我使用Python/BeautifulSoup的尝试(输出为注释 - 在#之后)
parsed = BeautifulSoup(sample_html)
parsed_div = parsed.findAll('div')[0]
parsed_div.firstText() # <a href="/category/personal">Personal</a>
parsed_div.first() # <a href="/category/personal">Personal</a>
parsed_div.findAll()[0] # <a href="/category/personal">Personal</a>
Run Code Online (Sandbox Code Playgroud)
我希望第一个孩子可以使用"文本节点".关于如何解决这个问题的任何建议?
Shr*_*rat 12
我很确定以下内容应该做你想要的
parsed.find('a').previousSibling # or something like that
Run Code Online (Sandbox Code Playgroud)
这将返回一个与NavigableString实例几乎完全相同的unicode实例,但您可以调用unicode它来获取unicode对象.
我会看看我是否可以测试一下并告诉你.
编辑:我刚刚确认它有效:
>>> from BeautifulSoup import BeautifulSoup
>>> soup = BeautifulSoup('<div class=a>Category: <a href="/">a link</a></div>')
>>> soup.find('a')
<a href="/">a link</a>
>>> soup.find('a').previousSibling
u'Category: '
>>>
Run Code Online (Sandbox Code Playgroud)