16

次のようなタグにアクセスしたい"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>
4

5 に答える 5

18

あなたはこのように試すことができます、

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

または

print soup.find('name').string
于 2013-01-21T09:14:46.613 に答える
5

これが私が得たものです:

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

そのため、名前タグを呼び出す代わりに、単にそれを見つけて、その中にあるものを取得します:)。

于 2013-01-21T09:16:10.100 に答える
2

.find()次の方法を使用できます。

例:

c2.find('name')

<name>イェシュゲイ</name>

c2.find('name').contents

イェシュゲイ

于 2013-01-21T09:16:44.563 に答える
0

説明されているのは、xml 要素名にアクセスする 2 つの異なる戦略です。

>>> 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'
>>> 
于 2013-01-21T09:16:30.293 に答える