Как достать значение атрибута тега с помощью BeautifulSoup4

У меня есть тег и мне надо достать у него текст атрибута data-peer-id

<a class="chatlist-chat" data-peer-id="404934257" href="#404934257">

как я могу реализовать на python с помощью BeautifulSoup4?


Ответы (1 шт):

Автор решения: Сергей Ш
from bs4 import BeautifulSoup

txt ='<a class="chatlist-chat" data-peer-id="404934257" href="#404934257">'
soup = BeautifulSoup(txt, 'lxml')

print(soup.a['data-peer-id'])

вывод

404934257

"у меня таких очень много"

txt ='<a class="chatlist-chat" data-peer-id="404934257" href="#404934257">' \
     '<a class="chatlist-chat" data-peer-id="404934999" href="#404934999">'
soup = BeautifulSoup(txt, 'lxml')

for x in soup.findAll('a'):
    print(x['data-peer-id'])

print([x['data-peer-id'] for x in soup.findAll('a')])

вывод

404934257
404934999
['404934257', '404934999']

Подробности и более крутые фишки в документаций https://beautiful-soup-4.readthedocs.io/en/latest/ на прсторах интернета можно найти перевод на русский

→ Ссылка