2

私はこのようなxmlを持っています:

<link>
www.link1.com
</link>
<link>
www.link2.com
</link>

私はこのコードを試しました:

from BeautifulSoup import BeautifulStoneSoup 
soup = BeautifulStoneSoup(results2)     #Beautiful Soup
linklist = soup.findAll('link')
print soup

このコードを使用すると、出力は次のようになります。

[<link>www.link1.com</link>,<link>www.link2.com</link>]

しかし、私はこのような出力が必要です

[www.link1.com, www.link2.com]
4

3 に答える 3

8

やってみました:

linklist = [el.string for el in soup.findAll('link')]
于 2012-07-12T15:05:55.250 に答える
1
links = soup.find_all('link')
link_strings = [s.string for s in links.string]
于 2012-07-12T15:13:50.283 に答える
1

これを試して:

from bs4 import BeautifulSoup

xml = """<html><link>
www.link1.com
</link>
<link>
www.link2.com
</link></html>"""

soup = BeautifulSoup(xml,features="xml")
linklist = soup.find_all('link')
linklist = map(lambda x: x.string, linklist)

後者は非推奨であるため、コンストラクターをではなくBeautifulSoupwithに変更したことに注意してください。features="xml"BeautifulStoneSoup

于 2012-07-12T15:16:00.537 に答える