整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

打印网页资料,被禁用了右键不让复制,这个方法可以简单

打印网页资料,被禁用了右键不让复制,这个方法可以简单解决

印网页资料,被禁用了右键不让复制,这个方法可以简单的帮我们解决。

今天来了一位客户,想打印一些资料,内容是来自某个网站上的一些文字,当我去复制的时候,才发现不让复制,被禁用了鼠标右键,无论你怎么点都没反应,整个页面像是一幅图片,于是搜索各种解除办法,但都是比较繁琐的一些招数,看的头晕眼花,有的还要让你下载插件安装,这些都不能快速解决,不是我想要的方法,弄了好一会,终于找到了有效还简单的方法,现在分享出来,让有需要的人不在走弯路,节省时间,收藏一下以备不时之需要。

首页用浏览器打开不让复制的页面,这里可以用普通浏览器或是某60浏览器,打开页面后,我们要按一下键盘上的F12,这时候就会在当前网页右边跳出一个小页面,点一下上面的小齿轮,一般我们把它称做“设置”

进入小齿轮后,默认是第一个分类,我们要滑动鼠标轮,往下走到最底部,找到调试程序下面的第一个选项,停用JavaScript,给前面的方框打上对沟,这个时候不要关闭这个小页面, 要是关闭了就失效了,也就是从头要再来一次。

这个时候你再去复制网页上的内容,看看是不是可以复制了。


说到这里,我还找到了一个更简单的办法,这个方法也给大家分享出来,希望有更多的人知道和学会。

在不让复制的页面,我们直接按下键盘上的ctrl+p,试试效果,是不是非常轻松的就解决了不让复制的问题,这个办法更简单,更快捷,还可以直接打印,也可以把内容复制出来。

寻找方法不容易,喜欢的就收藏一下,您的支持就是我的动力。

两天有个客户需要把网页转为pdf,之前也没开发过类似的工具,就在百度搜索了一波,主要有下面三种

  1. 在线转pdf
  2. 使用浏览器打印功能转pdf
  3. 使用本地软件工具转pdf

在线转pdf

在百度(我一般用必应)搜索“在线网页转pdf”就有很多可以做这个事的网站,免费的如

  • PDF24Tools

各种pdf的操作都有,免费使用,速度一般。

官网地址https://tools.pdf24.org/zh

PDF24 Tools

  • doctron

开源免费项目,使用golang写的,提供在线转

官网地址http://doctron.lampnick.com/

doctron在线体验demo

还有挺多其他的,可以自己搜索,但是都不符合我的预期。

使用浏览器打印功能转pdf

  1. 在浏览器右键,点击打印或者ctrl+p
  2. 在弹出的打印对话框中找到目标打印机选择“另存为PDF”
  3. 点击“保存”按钮即可下载pdf了

使用本地软件工具转pdf

Doctron,这是我今天要介绍的重头戏。

Doctron是基于Docker、无状态、简单、快速、高质量的文档转换服务。目前支持将html转为pdf、图片(使用chrome(Chromium)浏览器内核,保证转换质量)。支持PDF添加水印。

  • 使用chrome内核保证高质量将HTML转为pdf/图片。
  • 简易部署(提供docker镜像,Dockerfile以及k8s yaml配置文件)。支持丰富的转换参数。转为pdf和图片支持自定义大小。
  • 无状态服务支持。

管他的,先把代码下载下来再说

git clone https://gitcode.net/mirrors/lampnick/doctron.git

仓库

运行

go build
./doctron --config conf/default.yaml

运行截图

转pdf,访问http://127.0.0.1:8080/convert/html2pdf?u=doctron&p=lampnick&url=<url>,更换链接中的url为你需要转换的url即可。

转换效果

然后就可以写程序去批量转换需要的网页了,但是我需要转换的网页有两个需求

1、网站需要会员登录,不然只能看得到一部分

2、需要把网站的头和尾去掉的

这就为难我了,不会go语言啊,硬着头皮搞了,肯定有个地方打开这个url的,就去代码慢慢找,慢慢调试,功夫不负有心人,终于找到调用的地方了。

第一步:添加网站用户登录cookie

添加cookie之前

添加cookie之后

第二步:去掉网站头尾

chromedp.Evaluate(`$('.header').css("display" , "none");
		$('.btn-group').css("display" , "none");
		$('.container .container:first').css("display" , "none");
		$('.breadcrumb').css("display" , "none");
		$('.footer').css("display" , "none")`, &ins.buf),

打开网页后执行js代码把头尾隐藏掉

第三步:程序化,批量自动生成pdf

public static void createPDF(String folder , String cl ,  String pdfFile, String urlhref) {
        try {
            String fileName=pdfFile.replace("/", ":");
            String filePath=folder + fileName;
            File srcFile=new File(filePath);
            File newFolder=new File("/Volumes/disk2/myproject" + File.separator + cl);
            File destFile=new File(newFolder, fileName);
            if(destFile.exists()){
                return;
            }
            if(srcFile.exists()){
                //移动到对应目录
                if(!newFolder.exists()){
                    newFolder.mkdirs();
                }
                FileUtils.moveFile(srcFile , destFile);
                return;
            }
            if(!newFolder.exists()){
                newFolder.mkdirs();
            }
            String url="http://127.0.0.1:8888/convert/html2pdf?u=doctron&p=lampnick&url="+urlhref;
            HttpEntity<String> entity=new HttpEntity<String>(null, null);
            RestTemplate restTemplate=new RestTemplate();
            ResponseEntity<byte[]> bytes=restTemplate.exchange(url, HttpMethod.GET, entity, byte[].class);
            if (bytes.getBody().length <=100) {
                if(urlList.containsKey(urlhref)){
                    Integer failCount=urlList.get(urlhref);
                    if(failCount > 3){
                        System.out.println("下载失败:" + cl + " / " + pdfFile +"  " + urlhref);
                        return;
                    }
                    failCount++;
                    urlList.put(urlhref , failCount);
                }else{
                    urlList.put(urlhref , 1);
                }

                createPDF(folder , cl ,  pdfFile , urlhref);
            }else{
                if (!destFile.exists()) {
                    try {
                        destFile.createNewFile();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                try (FileOutputStream out=new FileOutputStream(destFile);) {
                    out.write(bytes.getBody(), 0, bytes.getBody().length);
                    out.flush();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

最终成果:


文件夹分类存放

pdf文件

 有时候我们在网上找到有用的资料时,总想把它复制下来,以备后用;但往往是不能进行复制操作,这是网站设置了使用权限,需要购买VIP才能下载下来,此时顿感遗憾和无奈。是不是真的没有办法了呢?答案是肯定的,有的是方法!

  实现复制网页上的图片和文字有多种方法,如:“网页保存法”、“网页打印法”、“图片转文字”、“代码查看法”“后台控制法”“代码提取法”等等。笔者逐一进行了试用,其结果是有些方法可以,有些方法不行。下面以电脑操作系统Win10为例,介绍两种简单实用的复制网页上图片和文字的方法。

一、网页打印法:

  第一步:复制粘贴文字内容。

  打开网页,在需用文档的空白处,点击鼠标右键,在弹出的菜单中点击“打印”按钮,如下图:

  在上图中按住鼠标左键,选中需要复制的内容,再点击鼠标右键,在弹出的菜单中点击“复印”,然后将复制的内容粘贴到Word文档中即可(一篇文章可能需要多次复制)。结果如下:

  第二步:复制粘贴图片。

  将光标移至图片上,点击鼠标右键,在弹出的菜单中选取点击“图片另存为”按钮,将图片暂时存放在桌面上,以备后用。

  将放在桌面上的图片,复制粘贴到上面文档的对应位置即可。整个结果如下:

二、图片转文字:

  第一步:截取文档图片。

  打开网页,找到需要复制的内容,点击工具栏里的“小剪刀”,按住鼠标左键,选住需要复制的文档,点击“复制”在弹出的菜单中,将图片保存路径设置在桌面,然后点击“保存”即可。这时复制的文档图片已经存在了桌面上。复制过程如下图:

  第二步:借助“电脑微信”或“电脑腾讯QQ”图片转文字。

  在电脑上打开“微信”,在搜索栏里输入“去水印用轻抖”,在依次弹出的菜单中分别点击“轻抖”、“图片转文字”、“相册/拍照”,然后选中存放在桌面的图片,点击“打开”即可将图片转成文字。这时将文字复制粘贴到Word文档中即可。

  当然也可以用手机拍照图片,通过手机微信里的“文件传输助手”、“去水印用轻抖”,实现图片转文字,但因手机拍图片清晰度低,导致图片转文字差错率高,不建议使用。

  电脑腾讯QQ”图片转文字与电脑微信图片转文字,大同小异,都是利用自身多功能来实现的,在这里就不再赘述。