们平时在网上查找资料,看到自己需要的内容,发现网页文本禁止复制粘贴,今天就来教你,花一分钟时间,学会下面这六个套路,轻松突破限制。
打开你需要复制内容的网页,在浏览器地址栏输入“javascript:void($={});”这串代码,然后按下回车键,这时候就允许你复制文本了。
(注意:一定要手动输入代码,复制粘贴的无效)
我们还可以利用打印网页的时候,在预览页面将文本复制下来。按下快捷键【Ctrl+P】,将会进入打印界面,直接在右侧的预览界面,选中文本进行复制。
打开网页后,按下功能键【F12】,进入网页后台找到【Console】,在下面输入这串符号“$=0”,再2按下回车键,网页文字就能自由复制了。
你还可以在网页空白处,右击选择【查看页面源代码】,然后一直向下滑动,找到密密麻麻的文本,选中直接复制提取出来。
打开网页鼠标右击,选择【网页另存为】,然后在弹出的窗口中,将保存类型改为【网页,仅HTML】,接着点击【保存】。
关闭当前网页,回到桌面找到刚刚保存的本地网页文件,双击打开后,就可以随意复制啦。
此外,我们还可以利用OCR文字识别技术,将网页文字识别出来。需要借助掌上识别王工具,找到【文字识别】-【快速截图识别】功能。
然后使用截图快捷键【ALT+F】,在网页中将你需要的内容截取下来,上传到这里,接着点击【立即识别】,1秒就能提取文字。
网页文本禁止复制粘贴?一分钟学会上面这六个套路,轻松突破限制,全网任意复制。
明:文章内容仅用于学习交流,切勿不当使用。
上网的时候经常会遇到网页禁止复制文本或者禁止文档下载的情况。今天结合案例分析下实现这些限制的手法和解除办法。
首先创建一个demo.html的文档,文档内容如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DEMO</title>
<style>
body {background-color: aqua;}
</style>
</head>
<body>
<div class="content">测试文本测试文本测试文本</div>
<script>
let htmlEle = document.documentElement;
let bodyEle = document.querySelector('body');
htmlEle.addEventListener('selectstart', (e) => {
e.preventDefault();
});
bodyEle.addEventListener('copy', (e) => {
e.preventDefault();
});
bodyEle.addEventListener('selectstart', (e) => {
e.preventDefault();
});
bodyEle.addEventListener('contextmenu', (e) => {
e.preventDefault();
});
</script>
</body>
</html>
打开文档可以发现,页面文本是无法选择并复制的。因为如代码所示,页面元素被绑定了几个事件(选择、拷贝、右键菜单),阻止了用户对文本的复制企图。
怎么办呢?
打开浏览器的开发者工具,切换到Elements标签下,选择文本元素,这时可以在下方的“事件监听器”中查看到目标元素及其祖先元素上绑定的事件。展开这些相关的事件,可以看到“移除”按钮,接下来只需点击按钮将这些限制事件移除便可以复制了。
上述办法是在事件绑定后,再将它们移除。此外,也可以通过抓包改包的方式移除绑定事件相关的代码,从源头阻止事件的绑定。这需要抓包工具的辅助,这里用到的是Fiddler。
假设网页部署在本地服务器上,首先,打开Fiddler,在右侧切换到“自动转发”面板(带闪电图标的),勾选图中两个选项;然后添加规则,填上要更改的请求地址以及要替换的本地文件(假设为demo1文件,内容如下),填好后保存。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DEMO</title>
<style>
body {background-color: #dedede;}
</style>
</head>
<body>
<div class="content">测试文本测试文本测试文本</div>
</body>
</html>
设置好以后再次刷新网页,会发现页面的背景色发生了变化,而且文本也可以直接复制了。
此处以网上的一个文档为例,文档可以在线查看,但是无法直接下载。通过开发者工具选中文档,可以看到它对应了一个img标签(以前是canvas),我们可以将图片保存到本地,但是如果页面比较多,手动操作就很麻烦,所以可以用代码帮我们自动执行,将图片合并成pdf文件并下载到本地。
以下代码可做参考:
function loadScript (url) {
let ele = document.createElement('script')
ele.src = url
document.body.appendChild(ele)
}
function img2dataUrl (options) {
let result = ''
let img = options.img || ''
let width = options.width || img.naturalWidth || img.clientWidth
let height = options.height || img.naturalHeight || img.clientHeight
let quality = options.quality || 100
let mimeType = options.mimeType || 'image/png'
let canvas = document.createElement('canvas')
canvas.width = width
canvas.height = height
let ctx = canvas.getContext('2d')
ctx.drawImage(img, 0, 0, img.naturalWidth, img.naturalHeight, 0, 0, width, height)
result = canvas.toDataURL(mimeType, quality / 100)
return result
}
loadScript('https://cdn.bootcdn.net/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js')
function img2pdf () {
let imgArr = [...document.querySelectorAll('.reader_inner img')]
if (imgArr.length === 0) return
let doc = new jspdf.jsPDF({unit:'px'});
imgArr.forEach((v,i) => {
v.setAttribute("crossOrigin",'anonymous');
let pxPermm = v.width / 210 / 2.2;
let imgData = img2dataUrl({img:v}).slice('data:image/png;base64,'.length);
(i > 0) && doc.addPage();
doc.addImage(imgData, 'png', 0, 0, v.width / pxPermm, v.height / pxPermm);
})
doc.save('img2pdf.pdf');
}
将代码放到控制台或者代码段中执行,执行后,再在控制台调用 img2pdf() 方法即可将可浏览的页面合并成PDF下载到本地。
这个VBA程序将一个Excel工作簿保存为一个网页文件,允许你将Excel的数据和格式转换成一个网页以供在线查看或共享。
下面是保存工作簿为网页的VBA语法:
ActiveWorkbook.SaveAs Filename:="文件路径\文件名.htm", FileFormat:=xlHtml
假设你有一个名为 "SampleWorkbook.xlsx" 的工作簿,你想将其保存为一个网页文件,文件名为 "SampleWebPage.htm",并保存在同一目录下。
以下是VBA代码示例,用于将工作簿保存为网页文件:
Sub SaveAsWebPage()
Dim FilePath As String
FilePath = ThisWorkbook.Path & "\SampleWebPage.htm"
On Error Resume Next
ActiveWorkbook.SaveAs Filename:=FilePath, FileFormat:=xlHtml
On Error GoTo 0
If Dir(FilePath) <> "" Then
MsgBox "工作簿已成功保存为网页文件:" & FilePath, vbInformation, "保存成功"
Else
MsgBox "无法保存工作簿为网页文件。", vbExclamation, "保存失败"
End If
End Sub
运行上述代码后,如果成功保存工作簿为网页文件,你将看到一个消息框显示保存成功,并提供保存的文件路径。如果保存失败,你将看到一个保存失败的消息框。
*请认真填写需求信息,我们会在24小时内与您取得联系。