2017-01-06 9 views
0

セットリストの内容を削り取ろうとしています(たとえば、フィッシュの設定リスト - )。しかし、BeautifulSoupが曲のタイトルを属性から引き離すのに問題があります。PythonでBeautifulSoup4を使用しているXMLを掻き立てる

効果的には、最初のタグだけを見て、その属性から曲の名前を引っぱります。たとえば、

<song name="Down With Disease> some other crap and tags in here </song> 

一方、タグ内には「名前」の情報をすべて取り込み、他には何も入れません。

誰かが適切な方法を指示することができれば、それは素晴らしいことです。私はBSの文書の中でそれを見つけるのが難しいです。 XML文書の最初のsetlistタグのすべての属性値を含むリストを効果的に作成したいと思います。アウト

+0

したい出力を投稿してください。 –

答えて

0
import bs4, requests 

r = requests.get('http://api.setlist.fm/rest/0.1/search/setlists?artistName=phish') 
soup = bs4.BeautifulSoup(r.text, 'lxml') 
first_name = soup.find('song').get('name') 
all_name = [i.get('name') for i in soup.find_all('song')] 

first_name:"Don't Bogart That Joint" 
all_name: 
["Don't Bogart That Joint", 
'Your Pet Cat', 
'Kill Devil Falls', 
'Back on the Train', 
'My Soul', 
'Lawn Boy', 
'The Divided Sky', 
'Ya Mar', 
'Character Zero', 
'Walls of the Cave', 
'Also sprach Zarathustra', 
'Carini', 
'Twist', 
'Piper', 
'Ass Handed', 
'Sand', 
'Slave to the Traffic Light', 
'More', 
'Petrichor', 
'Auld Lang Syne', 
'Suzy Greenberg', 
関連する問題