2017-03-10 54 views
2

我需要通过抓取从Github获取里程碑信息。 里程碑信息嵌入在2种div类中: table-list-item milestone notduetable-list-item milestoneBeautifulSoup部分div类匹配

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

我: 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应该返回所有匹配的。我的问题完全相反!

回答

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

或使用CSS选择器:

soup.select('.milestone') 
在BS4

class是多值属性:

它的专卖店名单:[table-list-item, milestone, notdue] and [table-list-item, milestone]

你需要做的是找到什么共享的价值,如milestone

+0

我想知道,在那例如,[table-list-item,milestone]是如何共同的,对另一个列表是不正确的。使用'milestone'只会有所帮助!谢谢 – okkhoy