這是一個非常普遍的/廣泛的問題,因此只會得到非常普遍的/廣泛的回答。如果不知道您正在使用哪種服務器端技術,您目前的架構如何,需要完成多少工作以及需要完成多少工作,則很難提出任何建議(與需要採取一種方法需要多少努力有關另一個)等。
我個人不熟悉GData或YouTube API,所以他們的技術對我來說是未知的。但是,我可以提出以下個人建議:
1)我建議您避免直接對您的頁面進行HTML檢查,而是建議使用服務器端API來補充您的客戶端API。具體而言,我會考慮一個RESTful like approach,您將您的實體/數據視爲您希望採取行動的資源。
此方法的好處是獨立於您頁面的實際視圖/ HTML表示,因此對更改具有更強的適應性。如果您直接針對HTML編寫API,則每當您更改網頁時(即使內容/數據保持不變),您都有可能違反API。
擁有服務器端組件的另一個好處是您將能夠利用JSONP,這可以減輕跨域請求所涉及的一些痛苦。然而,JSONP的一個缺點是你不能發出POST請求,只有GET請求,它並不完全採用RESTful方法(但我仍然相信RESTful架構提供了許多優點)。
2)數據傳輸是一個簡單的建議 - 下手我會選擇JSON。在某些情況下,XML可能比JSON更適合使用數據格式,但總的來說,我認爲您會發現JSON將很好地滿足您的需求。
3)對於跨域請求,客戶端認證可能很困難。這裏的一個選擇是使用iframe來進行身份驗證。另一種選擇是使用HMAC或OAuth。 4)至於實際編寫JavaScript API,我建議閱讀關於JavaScript books的SO上的一些線程。這可能包括關於命名空間和其他組織API的討論。
正如我所說 - 這些都是非常通用的建議。可能是你的用例在一個快速而髒的HTML抓取中可以做得很好(儘管你可能需要使用IFrame來解決跨域限制)。我上面提到的整體來看,並不是一項微不足道的任務,特別是如果現在這些要素都不存在的話。
您是否已經擁有JavaScript API將通過其接口的服務器端組件?還是你打算直接檢查你的HTML頁面? – Matt 2011-05-23 16:19:57
我還沒有服務器端組件,但我可以。取決於哪個更好或更容易。我也可以做,但我傾向於檢查HTML頁面。 – UpHelix 2011-05-23 16:46:40
好吧,該死的我覺得它很有用! – 2016-01-31 05:52:10