Как получить атрибуты тега root с помощью BeautifulSoup 4? - PullRequest
0 голосов
/ 24 февраля 2020

Если я сделаю:

soup = BeautifulSoup('<img src="a" />', 'html.parser')
print(soup.attrs)

, я получу {}. Поэтому я делаю следующий уродливый трюк:

soup = BeautifulSoup('<body><img src="a" /></body>', 'html.parser')
print(soup.body.next.attrs)

Есть ли более правильный способ сделать это? Спасибо.

1 Ответ

0 голосов
/ 24 февраля 2020

Вы можете получить желаемый результат:

for i in soup:
   print(i.attrs)

Вывод:

{'sr c': 'a'}

Редактировать:

Причина, по которой он не работал раньше, но работает с этим предложенным ответом, заключается просто в том, что soup сам по себе не имеет атрибутов, поэтому soup.attrs пусто. Элементы, содержащиеся в soup, однако, имеют атрибуты, поэтому for l oop просто перебирает элементы (в данном случае только один) и печатает атрибуты.

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