怎么再保存网页文字,怎么保存网页的全部文本

首页 > 生活 > 作者:YD1662024-05-02 14:27:58

智能识别网页标题

var title=""; try{ title=document.title;//取网页标题 }catch{} if(title==""){ //网页标题为空时,查找H1元素内容作为标题 var h1s=document.getElementsByTagName("h1"); if(h1s.length>0) { title=h1s[0].innerText; } } if(title==""){ //仍未找到标题时,查找样式为title的元素内容作为标题 var h1s=document.getElementsByClassName("title"); if(h1s.length>0) { title=h1s[0].innerText; } } title;

再创建一个脚本代码步骤,定义几个重复使用的函数。

怎么再保存网页文字,怎么保存网页的全部文本(5)

function generateFullXPath(el) { let query = "" while (el && el.nodeType === Node.ELEMENT_NODE) { // 也可以使用nodeName,nodeName包含了tagName let component = el.tagName.toLowerCase() let index = this.getElementIndex(el) if (index >= 1) { component = '[' index ']' } query = '/' component query el = el.parentNode } return query } function getElementIndex(el) { let index = 1 let sib = el.previousSibling while (sib) { if (sib.nodeType === Node.ELEMENT_NODE && this.compareTagNameEqual(el, sib)) { index } sib = sib.previousSibling } if (index > 1) return index sib = el.nextSibling while (sib) { if (sib.nodeType === Node.ELEMENT_NODE && this.compareTagNameEqual(el, sib)) { return 1 } sib = sib.nextSibling } return 0; }; /** * 查看两个元素节点名称是否相同 */ function compareTagNameEqual(primaryEl, siblingEl) { let p = primaryEl, s = siblingEl // return (p.tagName === s.tagName && (!p.id || p.id === s.id)); return (p.tagName === s.tagName) };

同样使用js代码智能识别查找正文元素,一般文章正文部分由多个段落组成,所以我们从P元素入手,找到子元素包含大量P元素的元素,就是正文元素了。如果没有P元素,则获取页面中间位置,面积较大的元素作为正文元素,并给正文元素设置一个id值”mutoubrowser"作为标记。方便后续步骤调用。

怎么再保存网页文字,怎么保存网页的全部文本(6)

智能识别网页正文

var content=""; var fa=null; var ps=document.getElementsByTagName("p"); if(ps.length>0) {//取包含P的父元素 fa=ps[0].parentElement; while(fa.parentElement.scrollWidth*fa.parentElement.scrollHeight>fa.scrollWidth*fa.scrollHeight) { fa=fa.parentElement; } if(ps.length>1) {//找到第一个p和最后一个p的共同父元素 do{ var endfa=ps[ps.length-1].parentElement; var faxpath=generateFullXPath(fa); var endfaxpath=generateFullXPath(endfa); if(faxpath.indexOf(endfaxpath)==0) {fa=endfa; break; } else if(endfaxpath.indexOf(faxpath)==0) { break; } else { fa=fa.parentElement; endfa=endfa.parentElement; } }while(true); } } else {//取页面中间最大的元素 var w=document.body.clientWidth; var h= document.body.clientHeight; var el=document.elementsFromPoint(Math.round(w/2),Math.round(h/3*2)); if(el!=null){ var d=0; for(var i=0;i<el.length;i ){ var e=el[i]; var dd=e.scrollWidth*e.scrollHeight; if(dd>d*1.8) { fa=e; } d=dd; } } else { fa=el.document.body; } } if(fa!=null) { fa.setAttribute("id","mutoubrowser"); content=fa.innerHTML; } content;

再创建一个保存内容步骤,勾选“保存网页内容”,选择“下载图文单个文件”。设置文件名为js变量title,即标题做为文件名,并指定保存文件路径为“D:\文档”。在窗口下方设置正文的元素,通过js代码获得。

怎么再保存网页文字,怎么保存网页的全部文本(7)

保存图文到文件

document.getElementById("mutoubrowser");

最后保存项目文件为“AI保存网页”,通过点击书签按钮运行这个项目,就能智能识别网页标题和正文,保存网页有效内容和图片了。

上一页12末页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.