2014-03-07 51 views
-1

我想從一個在線源訪問一個xml文件(實際上很多)。我有一個代碼,將做到這一點,但我安裝了一個新的操作系統,忘了備份我的phython腳本:(使用python訪問在線xml

我從字面上只是試圖訪問xml,一旦我有數據我相信我記得我是如何解析我只是不記得我是如何訪問它的,我一直在環顧四周,所有我能找到的東西都是在urllib中,但是當我嘗試提出請求時,它不會運行腳本,因爲':'在網頁地址。任何幫助?

這裏是XML的地址,我試圖訪問之一。 http://api.eve-central.com/api/marketstat?typeid=34&regionlimit=10000002

+0

http://developer.yahoo.com/python/python-xml.html –

+0

http://docs.python.org/2/library/xml.etree.elementtree.html – fledgling

回答

0

的urllib2的圖書館是你在找什麼。

http://docs.python.org/2/howto/urllib2.html

簡單地說,這是你如何使用ITL

url_response = urllib2.urlopen(url) ## return a http.response object 
xml_content = url_response.read() ## read the content 

另外,我使用beautifulsoup4從XML文檔http://www.crummy.com/software/BeautifulSoup/bs4/doc/拉出數據。

簡而言之,

from bs4 import BeautifulSoup   ## import bs4 as BeautifulSoup 
content = BeautifulSoup(xml_content) ## convert xml content to beautifulsoup object 
span = content.find_all("span")   ## find all span tag and return as list 

歡呼!

+0

即時通訊使用3.3所以沒有urllib2。當我使用urllib.request.urlopen(...)時,它只是返回一個對象(「http.client.HTTPResponse對象」),而不是xml數據。 – user3391121

+0

嗨,我已經編輯回答,顯示你如何可能得到的XML數據。乾杯! – biobirdman