爬蟲抓到資料後要如何DOM 整理需要的資料 (常用語法

爬蟲抓到資料後要如何DOM 整理需要的資料 (常用語法

如提說的,用爬蟲來抓資料都會以字串的方式記錄下來,常常需要自己在整理存到資料庫或直接渲染到畫面,這就會遇到需要用DOM的方式來抓取需要的部分刪除多餘的。

var html = `<!doctype html> <html> <head><title></title></head> <div id="hi">讀這個</div></html>`; //比如整個是html代碼
get(html,"hi");
function get(html, id) {
var reA = new RegExp(`<[^<]*id=["']${id}["']>[^\<]*</[^>]*>`,'gi');
var mat = html.match(reA);  // 截取內容
if(mat!==null){
alert(unescape(mat[0]));
} }

一般在處理這種資料,第一的想法就是用正則來處理,但正則的語法…你懂得。

比較偷懶的方式就是把資料渲染到畫面再用ID CLASS抓回來整理,以前我都這麼做,但這樣也不好。

比較好的方式

var html = `<!doctype html> <html> <head><title></title></head> <div id="hi">讀這個</div></html>`; //比如整個是html代碼
get2(html,"hi");
function get2(html, id) {
let doc = new DOMParser().parseFromString(html, "text/html");
alert(doc.getElementById(id).innerHTML);
}

用DOMParser把資料直接改成HTML

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

%d 位部落客按了讚: