2016-04-02 6 views
0

に出力するように別の場所で使用できる文字列にURLストアからXMLを解析しようとするとリモートURLから次はxmlですので、私は、IRC

<SHOUTCASTSERVER> 
<CURRENTLISTENERS>0</CURRENTLISTENERS> 
<PEAKLISTENERS>0</PEAKLISTENERS> 
<MAXLISTENERS>100</MAXLISTENERS> 
<UNIQUELISTENERS>0</UNIQUELISTENERS> 
<AVERAGETIME>0</AVERAGETIME> 
<SERVERGENRE>variety</SERVERGENRE> 
<SERVERGENRE2/> 
<SERVERGENRE3/> 
<SERVERGENRE4/> 
<SERVERGENRE5/> 
<SERVERURL>http://localhost/</SERVERURL> 
<SERVERTITLE>Wicked Radio WIKD/WPOS</SERVERTITLE> 
<SONGTITLE>Unknown - Haxor Radio Show 08</SONGTITLE> 
<STREAMHITS>0</STREAMHITS> 
<STREAMSTATUS>1</STREAMSTATUS> 
<BACKUPSTATUS>0</BACKUPSTATUS> 
<STREAMLISTED>0</STREAMLISTED> 
<STREAMLISTEDERROR>200</STREAMLISTEDERROR> 
<STREAMPATH>/stream</STREAMPATH> 
<STREAMUPTIME>448632</STREAMUPTIME> 
<BITRATE>128</BITRATE> 
<CONTENT>audio/mpeg</CONTENT> 
<VERSION>2.4.7.256 (posix(linux x64))</VERSION> 
</SHOUTCASTSERVER> 

私がやろうとしていますすべての内容を保存しています要素<SONGTITLE>が格納されているので、私が持っているボットを使ってIRCに投稿することができます。

import urllib2 
from lxml import etree 

url = "http://142.4.217.133:9203/stats?sid=1&mode=viewxml&page=0" 
fp = urllib2.urlopen(url) 
doc = etree.parse(fp) 
fp.close() 

for record in doc.xpath('//SONGTITLE'): 
    for x in record.xpath("./subfield/text()"): 
     print "\t", x 

これまで私がこれまで行ってきたことです。私がここで間違っていることを確かめないでください。私はPythonにはかなり新しいですが、IRCボットは機能し、これを機能として追加したい他のユーティリティタイプのものを行います。

+1

あなたが現在出て動作していないかを説明することはできますか?あなたはどんなエラーを出していますか?期待していないことは何ですか? – idjaw

答えて

1

あなたは./subfield/を含める必要はありません。

for x in record.xpath("text()"): 

出力:

Unknown - Haxor Radio Show 08 
関連する問題