Как я могу извлечь только атрибут «заголовок» из этого кода? - PullRequest
0 голосов
/ 25 мая 2019

Я немного новичок в Python и пытаюсь понять, как извлечь атрибут 'title=' из этого кода (ниже).Я пытался использовать Beautifulsoup для этого, но, честно говоря, все, что будет работать, хорошо для меня.

<a class="image-link" href="/new-jersey/communities/holiday-city-at-berkeley" title="Holiday City at Berkeley"><div class="lazyload pulse out exited" style="height:auto"><div class="placeholder"><svg class="svg-placeholder-component" height="100%" viewbox="0 0 400 225" width="100%"><use xlink:href="#lazyload-placeholder"></use></svg></div></div></a>

Я пробовал all[0].find_all('a', "title") и all[0].find_all("title"), и оба возвращают '[]'.

<a class="image-link" href="/new-jersey/communities/holiday-city-at-berkeley" title="Holiday City at Berkeley"><div class="lazyload pulse out exited" style="height:auto"><div class="placeholder"><svg class="svg-placeholder-component" height="100%" viewbox="0 0 400 225" width="100%"><use xlink:href="#lazyload-placeholder"></use></svg></div></div></a>

1 Ответ

1 голос
/ 25 мая 2019

Вы можете использовать селектор CSS для извлечения желаемых элементов:

from bs4 import BeautifulSoup

html = '<a class="image-link" href="/new-jersey/communities/holiday-city-at-berkeley" title="Holiday City at Berkeley"><div class="lazyload pulse out exited" style="height:auto"><div class="placeholder"><svg class="svg-placeholder-component" height="100%" viewbox="0 0 400 225" width="100%"><use xlink:href="#lazyload-placeholder"></use></svg></div></div></a>'
soup = BeautifulSoup(html, 'lxml')

for a in soup.select('a[title]'):
    print(a['title'])

Печать:

Holiday City at Berkeley
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...