水木杉 发表于 2020-8-2 17:07

保存优秀的CSDN文章到本地

本帖最后由 水木杉 于 2020-8-2 17:09 编辑

今天使用网页打印保存CSDN文章的时候发现他的排版有点乱,虽然可以利用在线html转PDF(如https://www.htm2pdf.co.uk/)下载,看起来还是有点不舒服,就写了个油猴脚本提取出正文在打印,下面是代码,可以放入油猴中使用(因为用的还是浏览器自己的打印功能,有时候代码前面的数字被分开了,多试几次或许可行)。






**********************************************代码**************************************************
// ==UserScript==
// @name         保存CSDN文章为PDF
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description去掉其他元素,只保留文章内容,方便阅读
// @author       sersan
// @match      https://blog.csdn.net/*/article/details/*
// ==/UserScript==

(function()
{
    'use strict';
    var article = document.getElementsByClassName("blog-content-box");
    var barContent = document.getElementsByClassName("bar-content");

   function openWin()
    {
      window.document.body.innerHTML=article.innerHTML;
      window.print();
      location.reload();

      /*var myWindow = window.open('','','width=1200,height=600');
      myWindow.document.write(article.innerHTML);
      myWindow.print();*/
    }

    var download = document.createElement("input");
    download.type = "button";
    download.style.position = 'fixed';
    download.style.height = '32px';
    download.style.width = '82px';
    download.style.button = '10px';
    download.style.right = '10px';
    download.style.color = '#fff';
    download.style.backgroundColor="#E33E33";
    download.style.borderRadius="5px"; ;
    download.setAttribute("class","button");
    download.setAttribute("value","下载此文章");
    download.addEventListener('click', function(ev){download.remove();window.setTimeout(openWin(),2000)})
    barContent.appendChild(download);
})();

水木杉 发表于 2020-8-3 17:52

liuyunyun 发表于 2020-8-3 17:27
太有帮助了谢谢,请问这个可以做成全部网页嘛!这个功能太实用了

一般情况只要你按下Ctrl+p就能保存网页了,这个脚本只是精简了网页上的内容,不同的网页要匹配的元素不一样了,有需要可以自己修改getElementsByClassName()中的值来适应

追逐太阳 发表于 2020-8-2 18:07

水木杉 发表于 2020-8-2 18:05
是一样的,保存的方法有很多。。。

哈哈,那就不要这个了。对我来说复制比较简单一些,不过不得创新精神还是不错的。

culprit 发表于 2020-8-2 17:27

老铁牛逼

小呆呆霸王 发表于 2020-8-2 17:28

多谢大佬,但是斗胆问一下,有没有可以下载CSDN的软件或者网站啥的?

Deuez 发表于 2020-8-2 17:35

追逐太阳 发表于 2020-8-2 18:02

如果说直接复制和你保存的格式会不会是一样的呢?

水木杉 发表于 2020-8-2 18:05

追逐太阳 发表于 2020-8-2 18:02
如果说直接复制和你保存的格式会不会是一样的呢?

是一样的,保存的方法有很多。。。

风绕柳絮轻敲雪 发表于 2020-8-2 18:15

用Clip to OneNote这插件直接就保存到OneNote了{:301_998:}

涔変箤 发表于 2020-8-2 18:21

哇哇哇大佬

Ldfd 发表于 2020-8-2 18:33

追逐太阳 发表于 2020-8-2 18:02
如果说直接复制和你保存的格式会不会是一样的呢?

文章图片呢
pdf没啥格式就是个截图
页: [1] 2
查看完整版本: 保存优秀的CSDN文章到本地