ruprup
@ruprup
Web парсеры пишу. Нужно делать что то большее.

Как из класса вытащить href?

есть список awards:
awards = [<a class="bttn_green" href="/index.php?r=quests/reward&amp;id=74538347&amp;quest_id=1598044167">text</a>, <a class="bttn_green" href="/index.php?r=quests/reward&amp;id=74498540&amp;quest_id=1597875696">text</a>, <a class="bttn_green" href="/index.php?r=quests/reward&amp;id=74205167&amp;quest_id=1596578514">text</a>, <a class="bttn_green" href="/index.php?r=quests/reward&amp;id=74479806&amp;quest_id=1597790754">text</a>, <a class="bttn_green" href="/index.php?r=quests/reward&amp;id=74327918&amp;quest_id=1597093800">text</a>]


как из него вытащить каждый award? чтобы было так:
award = '/index.php?r=quests/reward&amp;id=74538347&amp;quest_id=1598044167'


пробовал через ['href'] в конце и через .get('href')) что то не выходит
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ответы на вопрос 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Руслан
from bs4 import BeautifulSoup

html = '<a class="bttn_green" href="/index.php?r=quests/reward&amp;id=74538347&amp;quest_id=1598044167">text</a> \
    <a class="bttn_green" href="/index.php?r=quests/reward&amp;id=74498540&amp;quest_id=1597875696">text</a> \
    <a class="bttn_green" href="/index.php?r=quests/reward&amp;id=74205167&amp;quest_id=1596578514">text</a> \
    <a class="bttn_green" href="/index.php?r=quests/reward&amp;id=74479806&amp;quest_id=1597790754">text</a> \
    <a class="bttn_green" href="/index.php?r=quests/reward&amp;id=74327918&amp;quest_id=1597093800">text</a>'


soup = BeautifulSoup(html)

links = soup.findAll("a", {"class": "bttn_green"})

for link in links:
    # print(link.get_text())
    print(link.attrs["href"])
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы