【问题标题】:How to access a tag called "name" in BeautifulSoup如何在 BeautifulSoup 中访问名为“name”的标签
【发布时间】:2013-01-04 07:24:35
【问题描述】:

我想访问一个名为"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>

【问题讨论】:

  • 你为什么不想要像 lxml 或 etree 这样的 XML 解析器?
  • 我有同样的问题,因为 kml 使用 标签

标签: python xml beautifulsoup


【解决方案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
    

    所以我没有调用名称标签,而是简单地找到它并获取其中的内容:)。

    【讨论】:

      【解决方案3】:

      描述的是访问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'
      >>> 
      

      【讨论】:

        【解决方案4】:

        您可以使用.find() 方法:

        例子:

        c2.find('name')

        Yesügey

        c2.find('name').contents

        是的

        【讨论】:

          【解决方案5】:

          迟到的答案,但我在尝试查找 &lt;textarea name=COMMENTS&gt; 时遇到了同样的问题

          我的解决方案:

          node = soup.find("textarea", attrs={"name": "COMMENTS"}

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2022-11-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-05-02
            • 2021-09-13
            • 2019-02-03
            • 1970-01-01
            相关资源
            最近更新 更多