2012-05-09 82 views
0

我正在寫一些代碼來加載和解析來自Web的HTML文檔。爲什麼我不能用JDOM加載這個URL?瀏覽器欺騙?

我用JDOM像這樣:

SAXBuilder parser = new SAXBuilder(); 
Document document = (Document)parser.build("http://www.google.com"); 
Element rootNode = document.getRootElement(); 
/* and so on ...*/ 

它正常工作,這樣。但是,當我將URL更改爲其他網站時,例如「http://www.kijiji.com」,則parser.build(...)行會掛起。

任何想法爲什麼它掛起?我是wondernig,如果它可能是因爲kijiji知道我不是一個「真正的」網絡瀏覽器 - 也許我必須欺騙我的http請求,所以它看起來像它來自IE或類似的東西?

任何想法很有用,謝謝!

Rob

回答

1

我覺得這裏可能會發生一些事情。該firdt問題是,你不能解析普通的HTML用JDOM,HTML是 XML ....

其次,當我通過JDOM kijiji.com運行立刻得到響應HTTP_400

當我解析google.com我收到一個關於格式良好的即時XML錯誤。

如果你碰巧在某些時候,雖然解析XHTML,你可能會運行到這個問題就在這裏:http://www.w3.org/blog/systeam/2008/02/08/w3c_s_excessive_dtd_traffic/

XHTML都有doctype引用其他文檔類型等各帖後需要30秒,從加載w3c.org ....

+0

處理文檔類型的方法是創建常用的永久本地緩存。 –

相關問題