CSDN 文章导出

待完善

## 一

优点 :文章导出PDF  由浏览器截屏生成不会失效,而爬虫的会失效     缺点:只是导出PDF,更多个人博客是采用md文件格式,所以我追求一键生成md文件

转自  略作修改如何将CSDN的文章导出为pdf?_徐思孟的博客-CSDN博客_csdn导出pdf  效果图如下:

进入到控制台,输入如下代码

先定义一个居中的CSS   ,回车

jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", Math.max(0, (($(window).height() - $(this).outerHeight()) / 2) + 
                                                $(window).scrollTop()) + "px");
    this.css("left", Math.max(0, (($(window).width() - $(this).outerWidth()) / 2) + 
                                                $(window).scrollLeft()) + "px");
    return this;
}

然后把一些不需要显示的东西删除掉

(function(){
$(".main_father").center();
$("#side").remove();
$("#comment_title, #comment_list, #comment_bar, #comment_form, .announce, #ad_cen, #ad_bot").remove();
$(".nav_top_2011, #header, #navigator").remove();
$(".p4course_target, .comment-box, .recommend-box, #csdn-toolbar, #tool-box").remove();
$("aside").remove();
$(".tool-box").remove();
$("main").css('display','content'); 
$("main").css('float','left'); 

$("tool-box").remove();
$("#toolBarBox").remove();
$(".template-box").remove();
$("#copyright-box").remove();

window.print();
})();

然后直接点击“打印”,它会保存pdf文件

(如果不想快速点,忽略瑕疵,可以直接用Ctrl+P快捷键进入打印页面)

解决浏览器控制台无法粘贴     --- 更新于2024-05-07

浏览器是微软的Edge,   不让复制 是  勾选禁用JS, 不让粘贴代码呢?

右键--检查   点击 开发人员工具(DevTools) 右边上方齿轮

找有没有 Self 和 pasting字样的选项,没有找到,,,,尝试失败,,脑壳痛,,

谷歌浏览器可以这样操作,但是谷歌打不开我想要的页面,,,,,

接着an hour later  喝水的时候  灯泡一亮   我试着翻译了上面的警告字段,

警告:不要将你不理解或没有自己检查过的代码粘贴到DevTools控制台。这可能允许攻击者窃取您的身份或控制您的计算机。请在下面输入“允许粘贴”并按回车键允许粘贴

直接在控制台输入中文的    “允许粘贴”   注意不是英文的allow pasting     回车

## 二

前提:python

大佬们都采用爬虫,   当然爬虫会过期 ,为什么? CSDN把页面一些内容修改了,爬虫找不到

首先获取这个CSDN用户下所有的文章链接,然后获取文本  我们需要的是文章的标题,创建时间,还有主要内容;获取html文本可直接按下面来

HTML转成md   

在线的慢且不好看  , Html/MarkDown互转工具-BeJSON.com

Html2text by Alir3z4  没试过

GitHub - mixmark-io/turndown: 🛏 An HTML to Markdown converter written in JavaScript   测试打开 index.html  使用的话看文档   实测有效

 优点:  代码部分 <>不会转成 &lt;  &gt;  

但是会有一些莫名其妙的东西等待自己删除,所以应该剔除掉所有以<link><script>等开头  以  />结尾的字符串 

。。。python调用js的时候出现问题了  so这段pass

然后,没有然后了,,我看到  这个实测可以导出md文件,  应急的话符合我的要求

CSDN-spider: 爬取csdn的文章并转换为md格式  优点  : 这是最快的     缺点: 代码部分中括号 <>会被转成 &lt;  &gt; 等界面显示问题;   只能看到公开的发布出来的博客

最重要的是这个不是python源码,无法修改在生成MD文件前, &lt;  &gt;替换成<>的问题;既然那么多缺点   所以抛弃这个   想要自己写一个

let str = "&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n" +
        "&lt;beans xmlns=\"http://www.springframework.org/schema/beans\"&lt;servlet-mapping&gt;\n" +
        "        &lt;servlet-name&gt;dispatcher&lt;/servlet-name&gt;\n" +
        "        &lt;url-pattern&gt;*.do&lt;/url-pattern&gt;\n" +
        "    &lt;/servlet-mapping&gt;";
    function func(str)
    {
        var reg = /&lt;|&gt;/g;
        str = str.replace(reg,function($1){
            if($1=='&lt;'){
                return '<';
            }else{
                return '>';
            }
        });
        return str;
    }
    alert(func(str));

改进点 : 修改代码由输入的博客名改成 个人用户的账号密码模拟登录  进入文章管理页面CSDN

获取所有文章(包括草稿)  和文章更新时间  

这个要轮到周末在看喽,公司年会要表演,新人被推上台,弄得我没精力搞自己网站。。。

继续话题,获取cookie信息和 user-agent  (     alert(navigator.userAgent)    )

cookie信息自己拼接   可能需要用到所有,于是

"cookie": "uuid_tt_dd=10_27464470450-1558504101613-960211; dc_session_id=10_1611223080042.656536.420623; Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac=1611218803,1611219167,1611219728,1611220363; dc_sid=04ae20224e8511583ba1508a79e6c379; __gads=ID=ID=ea1401c48f7c8e89-224ef746f8c4004c:T=1606792494:RT=1606792494:R:S=ALNI_MZnrqPFwsIvZeuQrQkgkybkzgFoLQ; c_ref=https%3A//blog.csdn.net/huang_ftpjh/article/list/2; c-toolbar-writeguide=1; UN=huang_ftpjh; Hm_ct_6bcd52f51e9b3dce32bec4a3997715ac=6525*1*10_27464470450-1558504101613-960211!5744*1*huang_ftpjh!1788*1*PC_VC; announcement-new=%7B%22isLogin%22%3Atrue%2C%22announcementUrl%22%3A%22https%3A%2F%2Fptop.only.wip.la%3A443%2Fhttps%2Fblog.csdn.net%2Fblogdevteam%2Farticle%2Fdetails%2F112280974%3Futm_source%3Dgonggao_0107%22%2C%22announcementCount%22%3A0%2C%22announcementExpire%22%3A3600000%7D; UserName=huang_ftpjh; UserInfo=3ece835bdaf24564aa037860b9f5b015; UserToken=3ece835bdaf24564aa037860b9f5b015; UserNick=huang_ftpjh; AU=DCC; BT=1598231188850; p_uid=U010000; Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac=1611223095; TY_SESSION_ID=656a21c7-b70b-4b97-8212-221147973357; dc_tos=qna3p3"

下一文章 探讨: CSDN 文章导出2 python 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值