如果您使用純JavaScript,你可以做這樣的事情:如果你正在使用jQuery
var metas = document.getElementsByTagName('meta'); //get all the meta tag elements
//iterate through them
for (i=0; i<metas.length; i++) {
if (metas[i].getAttribute("name") == "keywords") {
console.log(metas[i].getAttribute("content"));
}
else if (metas[i].getAttribute("name") == "description") {
console.log(metas[i].getAttribute("content"));
}
}
上面的代碼可以更簡單:
var keywords = $('meta[name=keywords]').attr("content");
var description = $('meta[name=description]').attr("content");
我給的代碼根據您分享的url的來源摘錄。您可以修改它以適應您的需求。希望它能讓你從正確的方向開始。
編輯
我能理解你是一個初學者,但我會從開始的整個代碼張貼到只是因爲有這樣做的幾種方法結束不要和它的東西,你應該和如果你嘗試,可以自己學習。這並不困難。
問題的出發點應該是訪問JavaScript中遠程源的html
。我們通常使用post
或get
請求來執行此操作,但在瀏覽器中通常不允許跨源網絡請求。檢查this SO answer詳細闡述了這個問題。
現在,一個簡單的解決方法是尋找APIs
,它允許你從在線資源中刮取HTML。 YQL(Yahoo Query Language)就是這樣一個工具,可以讓你從遠程來源查詢html。他們有一個非常友好的YQL Console以及生成一個URL,您可以直接發出post
請求並查詢html
。它也有很好的文檔記錄,應該很容易上手。請嘗試以下YQL查詢在控制檯:
select * from html where url='http://www.sigmaaldrich.com/catalog/product/sigma/D2650?lang=en®ion=US' and xpath='/html/head/meta'
只要看看結果,你只能在XML
或JSON
返回meta
標籤併爲您的YQL查詢生成的custom URL。所以,只需要向該URL發送get
/post
請求,然後使用我之前發佈的代碼,只要數據以正確格式返回XML
即可。如果它返回爲JSON
,你將不得不簡單地解析json,這也應該很簡單。
所有這些現在聽起來可能都很複雜,但如果你只是一步一個腳印,就可以自己解決問題。從學習使用YQL控制檯開始,通過javascript提出網絡請求並將其放在一起。它應該是一個有趣的練習。
我對此非常陌生..我需要從開始到結束的代碼.. – Ramesh 2014-11-03 05:13:24