我需要通过抓取从Github获取里程碑信息。
里程碑信息嵌入在两种类型的div类中:
table-list-item milestone notdue
和table-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应该返回所有匹配的。我的问题恰恰相反!
答案 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