首页 > 解决方案 > 在 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,所以不确定我做错了什么。提前致谢。

标签: pythonparsingweb-scrapingbeautifulsoup

解决方案


我想可能是因为 uniqueDatesBucket 是列表列表。试试这个。

for i in uniqueDatesBucket[0]:
    uniqueMonthDay = i.find_all('div')

推荐阅读