使用Beautiful Soup选择嵌套元素
我有以下的HTML代码:
<div class="leftColumn">
<div>
<div class="static">
text1
<br>
text2
<br>
(222) 123 - 4567
<br>
<div class="summary">
我该如何使用Beautiful Soup只选择文本行呢?
我尝试了很多方法,比如:
soup.select('.leftColumn div').text
但到现在为止都没有成功。
2 个回答
4
Mauro的回答可能更符合你的需求,但这是另一种方法,也是我想到的获取内部div文本的方式:
from bs4 import BeautifulSoup
html = '''<div class="leftColumn">
<div>
<div class="static">
text1
<br>
text2
<br>
(222) 123 - 4567
<br>
<div class="summary">
'''
bs = BeautifulSoup(html)
for div in bs.findAll('div', attrs={'class': 'leftColumn'}):
print div.findNext('div').findNext('div').text
1
BeautifulSoup 的 select
方法会返回一个列表。你需要指定列表中的索引。
soup.select('.leftColumn div')[0].text.split()