如何从我得到的汤结果中提取或分解数据?

时间:2019-08-23 17:03:22

标签: python html beautifulsoup

所以我需要从find_all找到的某个类中获取部分信息。当我再次尝试使用find_all或提取或其他方法时,出现了错误。

我尝试了不同的方法,但是每次都得到相同的结果。我是python和编程的新手,所以我自己也无法弄清楚。

response = BeautifulSoup(response.content, "html.parser")
credit = response.find_all(class_='season_marathon')
#this isn't working, I want to remove all p tags and it's content from "credit"
for p in credit.findAll("span",{"class":"season_marathon"}):
    p.decompose()

name = response.find_all(id='content_top_2')

print(credit)


我要

AttributeError: ResultSet object has no attribute 'findAll'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?" 

基本上我想把这个转过来:

[<div class="season_marathon">
<div>
<div class="quest-marathon__item"><img src="//pw.cdn.gmru.net/img/promo_items/mqs_banner_24.jpg"/></div>
<div class="info">
<b>За клан и двор</b>
<p>Пройти Море Иллюзий в режиме «Месть богов» или Сумеречную библиотеку вместе с участником вашего клана и получить очки доблести и золото гильдии 10/15/20 раз.</p>
<div class="marathon-rating marathon-rating--"></div>
</div>
<div class="progress"><div style="width: 0%"></div><span>0/20</span></div>
</div>
<div>
<div class="quest-marathon__item"><img src="//pw.cdn.gmru.net/img/promo_items/mqs_banner_22.jpg"/></div>
<div class="info">
<b>Дух пламенных грифов</b>
<p>Выполнить ежедневное задание «Возродившийся из пламени» на Западном континенте 10/15/20 раз.</p>
<div class="marathon-rating marathon-rating--"></div>
</div>
<div class="progress"><div style="width: 0%"></div><span>0/20</span></div>
</div>
<div>
<div class="quest-marathon__item"><img src="//pw.cdn.gmru.net/img/promo_items/mqs_banner_16.png"/></div>
<div class="info">
<b>Сила стихий</b>
<p>Собрать яшмы 5-го уровня и выполнить ежедневное задание «Ценный камень» для 100-го и выше уровня в Морае 10/15/20 раз.</p>
<div class="marathon-rating marathon-rating--2"></div>
</div>
<div class="progress"><div style="width: 75%"></div><span>15/20</span></div>
</div>
<div>
<div class="quest-marathon__item"><img src="//pw.cdn.gmru.net/img/promo_items/mqs_banner_12.png"/></div>
<div class="info">
<b>Нелегкая дорога</b>
<p>Выполнить цепочку заданий «Снежный караван» и получить награду у Помощника командира 10/15/20 раз.</p>
<div class="marathon-rating marathon-rating--"></div>
</div>
<div class="progress"><div style="width: 0%"></div><span>0/20</span></div>
</div>
<div>
<div class="quest-marathon__item"><img src="//pw.cdn.gmru.net/img/promo_items/mqs_banner_23.jpg"/></div>
<div class="info">
<b>Подземное царство</b>
<p>Победить Гибельного мистика Хунь Сяо и выполнить ежедневное задание «Песнь льда» в Ледяном аду 10/15/20 раз.</p>
<div class="marathon-rating marathon-rating--"></div>
</div>
<div class="progress"><div style="width: 0%"></div><span>0/20</span></div>
</div>
<div>
<div class="quest-marathon__item"><img src="//pw.cdn.gmru.net/img/promo_items/mqs_banner_21.jpg"/></div>
<div class="info">
<b>Битва с драконом</b>
<p>Пройти Пещеры вечности в режиме для игроков 100-го уровня и выше 10/15/20 раз.
Не забудьте сдать задание и получить Свидетельство победы.</p>
<div class="marathon-rating marathon-rating--2"></div>
</div>
<div class="progress"><div style="width: 75%"></div><span>15/20</span></div>
</div>
<div>
<div class="quest-marathon__item"><img src="//pw.cdn.gmru.net/img/promo_items/mqs_banner_25.jpg"/></div>
<div class="info">
<b>Хищные звери</b>
<p>Выполнить цепочку заданий на получение призыва и победить босса «Песчаник» 10/15/20 раз, а затем сдать задание Старейшине.</p>
<div class="marathon-rating marathon-rating--2"></div>
</div>
<div class="progress"><div style="width: 75%"></div><span>15/20</span></div>
</div>
</div>]

对此:

[<div class="season_marathon">
<div>
<div class="info">
<b>За клан и двор</b>

<div class="marathon-rating marathon-rating--"></div>
</div>
<div class="progress"><div style="width: 0%"></div><span>0/20</span></div>
</div>
<div>

<div class="info">
<b>Дух пламенных грифов</b>

<div class="marathon-rating marathon-rating--"></div>
</div>
<div class="progress"><div style="width: 0%"></div><span>0/20</span></div>
</div>
<div>

<div class="info">
<b>Сила стихий</b>

<div class="marathon-rating marathon-rating--2"></div>
</div>
<div class="progress"><div style="width: 75%"></div><span>15/20</span></div>
</div>
<div>

<div class="info">
<b>Нелегкая дорога</b>

<div class="marathon-rating marathon-rating--"></div>
</div>
<div class="progress"><div style="width: 0%"></div><span>0/20</span></div>
</div>
<div>

<div class="info">
<b>Подземное царство</b>

<div class="marathon-rating marathon-rating--"></div>
</div>
<div class="progress"><div style="width: 0%"></div><span>0/20</span></div>
</div>
<div>

<div class="info">
<b>Битва с драконом</b>

<div class="marathon-rating marathon-rating--2"></div>
</div>
<div class="progress"><div style="width: 75%"></div><span>15/20</span></div>
</div>
<div>

<div class="info">
<b>Хищные звери</b>

<div class="marathon-rating marathon-rating--2"></div>
</div>
<div class="progress"><div style="width: 75%"></div><span>15/20</span></div>
</div>
</div>]

1 个答案:

答案 0 :(得分:1)

.textContent没有'findAll'属性。您需要从中选择一个标签。 我认为这可以为您提供帮助。

ResultSet