2008-08-25 22 views
2

假設您想要創建一個簡單的BlogEditor,並且您的想法之一是執行Live Writer所做的操作,並只詢問博客人員的URL。你怎麼能檢測到它是什麼類型的博客?如何檢測哪個博客API

基本檢測可以通過URL本身來完成,如「http://myblog.blogger.com」等,但如果它是自託管是什麼?

我最感興趣的是如何在Java中做到這一點,但這個問題也可以用作任何其他語言的參考。

回答

3

許多(大多數?)博客將有一個用於「發電機」的元標記,它將列出博客引擎。例如Blogger博客將包含以下meta標籤:

<meta name="generator" content="Blogger" /> 

我的潛臺詞博客顯示了以下生成meta標籤:

<meta name="Generator" content="Subtext Version 1.9.5.177" /> 

這個元標記將首先關注的地方。對於不在源代碼中設置此元標記的博客,您不得不求助於查找模式以確定博客類型。

1

一些博客提供了生成器元標記 - 例如, WordPress的 - 你可以找出是否有任何例外。

你必須要小心,你是怎樣判斷它雖然,谷歌讓我驚訝這行:

<meta content='blogger' name='generator'/> 

單引號是褻瀆。

1

來確定其它模式在確定博客引擎(對於那些沒有產生meta標籤)去尋找,你基本上只是看看通過源,以確定具體到博客類型的東西。您還需要在該類型的多個博客中進行比較,因爲您希望確保它不是特定於僅在博客中使用的外觀或主題的內容。

另一個想法是閱讀各種常見博客引擎的文檔,以瞭解如何發現其路徑的位置,如MetaWebLog API等。IIRC,Live Writer內置了對最常見類型的支持,其餘的被歸類爲「MetaWebLog API博客」或其他。