2011-06-16 122 views
1

我想知道是否有一種方法可以讓我處理html源代碼,讓我可以取出我想要的特定標籤嗎?從網站提取元數據

對不起,如果它聽起來容易或太簡單。我是編程新手。

回答

0

如果您知道結構,可以使用DOM從網頁中提取數據。

+0

謝謝,但目前我有一個字符串中的整個html源代碼,有反正它來處理呢?因爲結構可能會有所不同,元屬性標記是常數。 – simplified 2011-06-16 18:32:31

0

如果你有一個字符串的HTML,那麼你可以使用:

var str = '<html></html>'; // your html text goes here 
var div = document.createElement('div'); 
div.innerHTML = str; 
var dom = div.firstChild; // dom is the object you want, 
          // you can manipulate it using standard dom methods 

或者,使用jQuery。 jQuery是一個庫,可以幫助您更輕鬆地操作和訪問HTML元素。首先,將其添加到文檔的頭部:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> 

這是對jQuery庫的引用。那麼,這樣做:

var foo = $("<html>Your html here</html>"); 

或者,如果你的HTML是一個變量(例如STR),你可以這樣做:

var foo = $(str); 

然後,你可以操縱在許多不同的方式解析FOO。例如,要刪除所有段落元素,你可以使用

foo.remove('p'); 

或者,要刪除使用id =「酒吧」,使用段落元素:

foo.remove('p.bar'); 

一旦你完成你的修改,你可以使用以下格式獲取新的html文本:

foo.html(); 

爲什麼你的html在一個字符串中?它不是當前頁面的html嗎?

+0

如果它是當前頁面的html,則可以簡單地使用已經構建的DOM對象。 – Ord 2011-06-16 19:51:40

+0

然後dom.getElementsByTagName(「meta」)[0] .getAttribute(「author」)例如 – mplungjan 2011-06-16 19:55:14

+0

mplungjan上面提到的使用jQuery的等價物是(假設你的jQuery變量是foo):foo.filter('meta ').attr(' 作者「); – Ord 2011-06-16 20:31:57