BeautifulSoup部分div类匹配

时间:2017-03-10 01:59:30

标签: github beautifulsoup

我需要通过抓取从Github获取里程碑信息。 里程碑信息嵌入在两种类型的div类中: table-list-item milestone notduetable-list-item milestone

如何检索两个类中包含的信息?

我有: milestones = soup.find_all('div', {'class': 'table-list-item milestone'}) 但此行返回table-list-item milestone notdue

的空列表

现在我正在做以下(丑陋的黑客攻击):

milestones = soup.find_all('div', {'class':'table-list-item milestone'})
milestones.extend(soup.findAll('div', {'class': 'table-list-item milestone notdue'}))

这有什么优雅的解决方案吗?

根据this问题,BeautifulSoup应该返回所有匹配的。我的问题恰恰相反!

1 个答案:

答案 0 :(得分:3)

soup.find_all('div', {'class': 'milestone'})

或使用CSS选择器:

soup.select('.milestone')

在bs4中,class是多值属性:

它存储在列表中:[table-list-item, milestone, notdue] and [table-list-item, milestone]

您需要做的是找到共享值,例如milestone