2010-08-06 33 views
2

我有一個爬蟲,下載頁面並嘗試解析HTML。我一直面臨的問題之一是如何正確地確定HTML文件的MIME類型。從字符串中確定MimeType的最佳方法?

現在,我使用

is = new ByteArrayInputStream(htmlResult.getBytes("UTF-8")); 
mimeType = URLConnection.guessContentTypeFromStream(is); 

但卻忽略這樣的網站:http://www.artdaily.org/index.asp?int_sec%3D11%26int_new%3D39415因爲在源文檔標籤和HTML標籤之間的額外空間。

有誰知道確定一個字符串是否是HTML的好方法?搜索或其他標籤不一定會工作,因爲文本被嵌入到我可能遇到的二進制文件中。

謝謝

+0

你看了這個庫嗎? http://sourceforge.net/projects/mime-util/ – 2010-08-06 03:59:00

回答

1

您是否可以控制爬網程序使用的http連接?那麼如何檢查HTTP響應頭「Content-type」。這是確定內容類型的一種方法。我只是對artdaily.com做了一個快速測試,看是否發送了內容類型標題。並有一個有價值的文本/ html

+0

很多次的內容類型沒有被髮送或我也發現它被髮送爲文本/ HTML,實際上它是一個視頻或PDF文件。所以我似乎無法依賴服務器的內容類型 – James 2010-08-06 16:39:34

相關問題