python - 在 BeautifulSoup 中解析数组时,ResultSet 对象没有属性“%s”
问题描述
我正在使用 Beautiful Soup 来解析一些 HTML。这是代码:
//Build container for 'dates' divs
uniqueDatesBucket = []
for i in soupBucket:
uniqueDate = i.find_all('div', {'class': 'event-b58f7990'})
uniqueDatesBucket.append(uniqueDate)
print uniqueDatesBucket
uniqueDatesBucket 在打印时按预期工作并产生以下内容(下面的缩写版本):
[[<div class="event-b58f7990"><div class="event-ad736269">JAN</div><div class="event-d7a00339">06</div></div>, <div class="event-b58f7990"><div class="event-ad736269">JAN</div><div class="event-d7a00339">06</div></div>]]
我想从上面的数组中解析月/日。
uniqueMonth = []
uniqueDay = []
for i in uniqueDatesBucket:
uniqueMonthDay = i.find_all('div')
但是,这失败了,我收到以下错误:
"ResultSet object has no attribute '%s'. You're probably treating a list of items like a single item"
谁能在这里指出我正确的方向?我清楚地看到该数组有包含月/日的 div,所以不确定我做错了什么。提前致谢。
解决方案
我想可能是因为 uniqueDatesBucket 是列表列表。试试这个。
for i in uniqueDatesBucket[0]:
uniqueMonthDay = i.find_all('div')
推荐阅读
- php - 使用不同方法将codeigniter变量作为变量
- css - CSS 中 calc() 的最大可用数字是多少?
- python - Python 如何在矩阵中添加标量?
- typescript - 在 TypeScript 中递归地展开对象类型
- r - R 包 OmicsPLS:如何从标准 o2m 模型计算 p1 和 p(corr) 1 值?
- javascript - 升级 ngx-translate 后声明的 Symbol TranslateDirective 中的错误
- docker - 如何创建名称中没有项目名称前缀的 docker 服务?
- node.js - 带有 node.js 服务器的 Vue.js 动态路由器 - 无法为路由提供服务
- firebase - 带有报告的 Firestore 中的成本效率和可扩展性
- angular - 更新 NgModel 时,Angular ngModelChange 迟到了