我很难让BeautifulSoup为我搜索一些数据。从此代码示例中访问日期(实际数字,2008)的最佳方法是什么?这是我第一次使用Beautifulsoup,我已经弄清楚如何从网页上删除网址,但我不能将其缩小到只选择单词Date,然后只返回任何数字日期(在dd中)括号)。我甚至可能会问这个问题吗?
<div class='dl_item_container clearfix detail_date'>
<dt>Date</dt>
<dd>
2008
</dd>
</div>
答案 0 :(得分:11)
找到dt
代码by text并找到next dd
sibling:
soup.find('div', class_='detail_date').find('dt', text='Date').find_next_sibling('dd').text
完整的代码:
from bs4 import BeautifulSoup
data = """
<div class='dl_item_container clearfix detail_date'>
<dt>Date</dt>
<dd>
2008
</dd>
</div>
"""
soup = BeautifulSoup(data)
date_field = soup.find('div', class_='detail_date').find('dt', text='Date')
print date_field.find_next_sibling('dd').text.strip()
打印2008
。