Подтвердить что ты не робот

Как получить доступ к тегу под названием "имя" в BeautifulSoup

Я хочу получить доступ к тегу под названием "name", например:

<contact><name>Yesügey</name><lastName>Yeşil</lastName><phone>+90 333 9695395</phone></contact>

Так как "name" является свойством объекта тега BeautifulSoup, я не могу получить доступ к дочернему тегу name:

>>> c1
<contact><name>Yesügey</name><lastname>Yeşil</lastname><phone>+90 333 9695395</p
hone></contact>
>>> c1.name
'contact'
>>> c1.lastname
<lastname>Yeşil</lastname>
4b9b3361

Ответ 1

Вы можете попробовать это,

>>> soup=BeautifulSoup.BeautifulSoup(content).findAll('name')
>>> for field in soup:
...     print field
... 
<name>Yesügey</name>

или

print soup.find('name').string

Ответ 2

Вот что я получил:

from bs4 import BeautifulSoup as BS
soup = '<contact><name>Yesügey</name><lastName>Yeşil</lastName><phone>+90 333 9695395</phone></contact>'
soup = BS(soup)
print soup.find('name').string
# Prints YesĂźgey

Поэтому вместо вызова тега name я просто нахожу его и получаю то, что внутри него:).

Ответ 3

c2.find('name')

Yesügey

c2.find( 'имя'). Содержание

Yesügey

Ответ 4

Описано два разных способа доступа к имени элемента xml

>>> xmlstring = '<contact><name>Yesügey</name><lastName>Yeşil</lastName><phone>+90 333    9695395</phone></contact>'
>>> from BeautifulSoup import BeautifulSoup as Soup
>>> f = Soup(xmlstring)
>>> f.find('name')
<name>YesĂźgey</name>
>>> f.contact.name
u'contact'
>>>