2014-04-22 153 views
1

我試圖用BeautifulSoup解析XML頁面,由於某種原因,它不能夠找到XML解析器。我不認爲這是一個路徑問題,因爲我以前使用lxml解析頁面,而不是XML。下面的代碼:BeautifulSoup XML解析不工作

from bs4 import * 
import urllib2 
import lxml 
from lxml import * 


BASE_URL = "http://auctionresults.fcc.gov/Auction_66/Results/xml/round/66_115_database_round.xml" 

proxy = urllib2.ProxyHandler({'http':'http://myProxy.com}) 
opener = urllib2.build_opener(proxy) 
urllib2.install_opener(opener) 
page = urllib2.urlopen(BASE_URL) 

soup = BeautifulSoup(page,"xml") 

print soup 

我可能失去了一些東西簡單,但與BS問題,所有的XML解析,我發現放在這裏是圍繞BS3和我使用它使用了XML解析不同的方法BS4。謝謝。

回答

1

如果您已經安裝lxml,只需撥打,作爲BeautifulSoup的解析器代替,像下面。

代碼:

from bs4 import BeautifulSoup as bsoup 
import requests as rq 

url = "http://auctionresults.fcc.gov/Auction_66/Results/xml/round/66_115_database_round.xml" 
r = rq.get(url) 

soup = bsoup(r.content, "lxml") 
print soup 

結果:

<html><body><dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:nonamespaceschemalocation="66_database.xsd"><all_bids> 
<auction_id>66</auction_id> 
<auction_description>Advanced Wireless Services</auction_description> 
... really long list follows... 
[Finished in 34.9s] 

讓我們知道這會有所幫助。

+0

它必須是路徑問題,因爲它在iPython中工作,但不在Eclipse PyDev中。我會整理一下。謝謝你的提示。 – TomR

+0

這有點奇怪。很高興知道你找到了問題的根源,但。在任何情況下,上述答案都可以作爲解決方法。 :) – Manhattan