歡迎您光臨本站 註冊首頁

使用 Technorati API

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  
Technorati 是一個博客目錄服務,它使用戶能夠在博客圈中搜索到所有感興趣的文章。就像 Web 2.0 領域中的大部分條目一樣,Technorati 提供一個 API 來自動化它的大部分功能,並且以 REST 服務的方式提供該 API。在本文中,我們將通過一些例子學習如何從 Technorati API 獲得最大收益。

什麼是 Technorati?

在解釋本文標題中提到的流行詞之前,我們先解釋另一個流行詞:blogosphere(博客圈)。

術語 blogosphere 是新聞記者和電腦迷的常用詞。它是指一類特定的 Web 頁面,其中 Web 頁面的所有者(即 博主)表達自己的意見、觀點、想法、感情。這些頁面還包含到其他 Web 頁面的鏈接。關鍵詞 blog 是由 “Web log” 拼接而成的。

處理搜索條件

常用縮略詞
  • API:應用程序編程介面
  • HTTP:超文本傳送協議
  • REST:具象狀態傳輸
  • URL:統一資源定位器
  • XML:可擴展標記語言

一些 Web 站點能夠讓不怎麼精通網路技術的人管理自己的博客。WordPress 讓非軟體開發人員能夠藉助小部件、主題和模板創建相當高級的博客。這導致博主和博客突然猛增。就上一年而言,blogherald.com 的報告顯示全球大約有 2 億個博客。在撰寫本文時,博客圈是了解發生在許多國家的新聞的主要信息來源。

由於博客圈包含了大量各不相同的信息,有人不禁會問:這些信息在什麼地方進行分類、跟蹤和標記以供搜索呢?

在 Google 中輸入 Technorati 將搜索到這樣的解釋:“Technorati 收集、組織和分發全球的在線交談。”Time 雜誌的解釋是:“如果 Google 是 Web 的圖書館,那麼 Technorati 就是圖書館的咖啡廳。”(從 參考資料 部分可以找到 Technorati Media 和 Time 文章的鏈接)。

您可以通過網站 http://technorati.com 訪問 Technorati。您將在頂部看到一個藍綠色的搜索欄,其內包含單詞 Search the blogosphere...。單擊該欄並輸入 Obama。然後單擊旁邊的放大鏡。您馬上就能夠看到討論美國總統的特色博文。





Technorati API

使用 Technorati Web 頁面可以在博客圈中輕鬆搜索您需要的內容。不過,作為 Web 應用程序開發人員,您可能希望自動化這個搜索過程,或者讓 Web 頁面的訪問者根據自己的搜索條件查看從博客圈找到的信息。

可以使用 Technorati API 實現以上目標。就像 Internet 上的許多 API 一樣,Technorati API 使用 REST 服務。

什麼是 REST?

REST 是 Representational State Transfer 的首字母縮寫。詳細解釋 REST 定義涉及的所有東西超出了本文的範圍;不過,可以在 IBM developerWorks 上找到詳細解釋(參考資料 部分提供相關鏈接)。對於本文討論的主題而言,可以認為 REST 的作用是使開發人員能夠通過簡單的 HTTP 調用訪問信息和資源。

可以這樣思考 REST:要獲得特定領域的數據,您僅需將 URL 指向特定的位置。在本文中,這種解釋已經很充分中肯。您還可以將其看作是一個簡化的 Web 伺服器,但是如果您在其他場合宣揚這種思想,可能會招致熱議。

對於當前需要討論的主題而言,Technorati API 是一個 REST 服務,它使用戶能夠指向特定的 URL 並從博客圈中找到各種滿足 URL 中指定的條件的文章。這允許您能夠在 Web 應用程序中接受輸入,然後使用一個簡單的 URL 將輸入編碼成 API 可理解的格式,並根據輸入動態地查詢博客圈。

開始:一個簡單的例子

考慮 清單 1 中的例子:


清單 1. 一個簡單的搜索
				  http://api.technorati.com/search?key=xxxx&query=Obama  

這個 URL 相當簡單,它僅包含兩個查詢參數。

注意,實際的 Technorati API 函數是最後一個斜杠之後的單詞(search)。顯而易見,這表明 REST 調用將在博客圈中執行搜索。

第一個參數是密匙(key)。實際的 key 因用戶而異,並不真的是 xxxx 字元串。要獲得密匙,您需要註冊 Technorati 並請求一個密匙。這很簡單,也很容易。不幸的是,這意味著您不能將本文提供的 URL 複製粘貼到瀏覽器並查看結果。您必須使用自己的密匙替換 xxxx 字元串。

第二個請求參數是實際的查詢。和手動例子一樣,搜索使用關鍵詞 Obama。

在您使用自己的密匙替換 xxxx 字元串之後,您就可以將這個 URL 複製粘貼到 Web 瀏覽器並查看返回的結果。返回的結果不一定相同,這取決於 Web 瀏覽器的品牌和版本。不管屏幕上出現什麼結果,最好右鍵單擊頁面並選擇 View Source 查看返回的實際 XML。

儘管實際的內容與您執行的查詢有關,但結果應該類似於 清單 2。


清單 2. 一個簡單搜索的結果(部分輸出)
				  <?xml version="1.0" encoding="utf-8"?>  <!-- generator="Technorati API version 1.0 /search" -->  <!DOCTYPE tapi PUBLIC "-//Technorati, Inc.//DTD TAPI 0.02//EN"   	"http://api.technorati.com/dtd/tapi-002.xml">  <tapi version="1.0">  <document>  <result>      <query>Obama</query>      <querycount>2270581</querycount>      <rankingstart></rankingstart>  </result>  <item>     <weblog>        <name>Critica Pura</name>        <url>http://criticapura.com</url>        <rssurl>http://criticapura.com/feed/</rssurl>        <atomurl></atomurl>        <inboundblogs>7</inboundblogs>        <inboundlinks>10</inboundlinks>        <lastupdate>2009-06-21 17:13:23 GMT</lastupdate>     </weblog>     <title>Jib Jab Obama</title>     <excerpt>Try JibJab Sendables</excerpt>     <created>2009-06-21 17:13:23 GMT</created>     <permalink>http://criticapura.com/2009/06/jib-jab-obama/</permalink>  </item>  ...  

有意思的是,第一個查詢結果是一個外語博客條目(至少對講英語的人而言是這樣)。

result 元素提供關於查詢結果的元數據信息。query 的子元素提供實際的查詢關鍵詞。querycount 子元素提供來自博客圈並且與查詢匹配的文章的數量。

許多 item 元素都跟在 result 元素之後。每個 item 元素都對應一篇與搜索條件匹配的博客文章。

weblog 元素提供關於博客本身的信息。該信息是關於整個博客的信息,而不是僅關於匹配搜索條件的文章的信息。表 1 描述了 weblog 子元素。


表 1. weblog 子元素
元素 說明
name 博客的實際名稱
url 博客的 URL
rssurl 針對該博客的 Really Simple Syndication (RSS) 提要的 URL
atomurl 針對該博客的 Atom 提要的 URL
inboundblogs 鏈接到該博客的博客的數量
inboundlinks 鏈接回到該博客的外部站點的數量
lastupdate 博客的最近更新日期和時間

表 2 中描述的元素是 item 而不是 weblog 的子元素。這些子元素引用文章本身。


表 2. item 子元素
元素 說明
title 博客文章的實際標題
excerpt 博客文章的綱要
created 文章的撰寫日期和時間
permalink 博客文章的 URL

基礎的 Technorati API 函數

儘管 Technorati API 提供一個強大的搜索函數,但還有一個值得注意的地方,即該 API 還提供其他有用的函數。

cosmos 函數的名字並不直觀。它允許您搜索鏈接到某個基 URL 的博客。例如,假設您想要查找鏈接回到在 http://nicole-rensmann.bookola.de/blog 中找到的博客文章的所有博客。為此,您應該調用這個 REST 調用:http://api.technorati.com/cosmos?key=xxxx&url=http://nicole-rensmann.bookola.de/blog。如果您將該 URL 複製粘貼到瀏覽器(可以使用密匙替換 xxxx 字元串),將得到類似於 清單 3 的結果。


[火星人 ] 使用 Technorati API已經有488次圍觀

http://coctec.com/docs/linux/show-post-68710.html