qcy教你下载你在CSDN上写过的文章

来源:互联网 发布:决战武林羽扇6升7数据 编辑:程序博客网 时间:2024/05/18 03:11

前言


现在是2017年4月27日0:20:38。

异常兴奋…

事情是这样的。

因为在高中(2009年)开运动会的时候,我们录了好多像。但是后来我重装系统的时候,我自己确实是个电脑盲(尽管那个时候还是个网管,负责开关教室里的投影仪。同时,那个时候也立志考北京航空航天大学的计算机科学与技术系。然而本科没考上,研究生也没去……。唉,BUAA啊~~~~。而且我的专业也越来越不是计算机,先是通信工程,然后是光纤通信。。。对,光纤通信!就是那个办宽带的人手里拿的光纤。唉……),一不小心把电脑里好多东西都删了!

从此我意识到备份数据的重要性!!!

现在我把很多有意思的东西都放到了CSDN上,尤其是代码,希望这个网站不要挂掉……

但是我还是很不放心!于是准备把我写在CSDN上的东西又全部搬下来。至少存在本地、移动硬盘、微软的oneDrive、百度云上……

就是这么有强迫症。(我是金牛座……)


今晚已经知道怎么搞了。虽然很山寨。

别人明明有做好的xxxx库,可以直接调用解析html的标签……。没事,以后再学高级的用法。

明天起床完善这篇文章,就叫做“qcy教你下载你在CSDN上写过的文章”。


=======================================================


开始备份


下午去广州,上午先写一部分。记得上次去广州的那天上午,还在抓紧时间写用matlab模拟“世界大战”。总是这么拼……

关于备份我的csdn文章,我发现这似乎不是一件很容易的事。


基本想法


1. 把自己的文章的标题和url得到。

2. 用一个可以下载网页的工具下载。


事前准备


首先,需要准备一些工具。

1. 一个离线下载网站的工具Teleport Ultra。

2. 然后就是自己写一些python代码,得到自己的文章的url和标题。


因为目前来讲,我的csdn上的文章并不多,只有99篇,文章列表的也就2页的事,所以就没有单独写代码去保存文章列表的源代码了。


开始行动


1. 保存自己的文章列表的html源代码。
1.1 来到自己blog的首页。
1.2 切换至目录视图。




1.3  鼠标右键,点击查看源代码



1.4 保存源代码


保存到本地,我只有两页。


2.  写一段python代码,假装是在做一个网页爬虫。
把自己的文章url和title都保存下来。

比较烦的2件事。
2.1 网页上是一个换行符,但是不会显示出来。然而匹配的模式字符串里面要加上“\n”

2.2 这正则表达式真的不好写!毕竟我太不熟了。
想匹配 abc xxxx abc,可能要用([\w\W]+?)这种东西。

import reimport pandas as pdart_url = []art_titles = []art_dic = {}for i in range(1,3):            path = 'view-source_blog.csdn.net_qcyfred_article_list_%d.html'%i    file_object = open(path,encoding= 'utf-8')        try:        all_the_text = file_object.read( )        p1 = "/qcyfred/article/details/\d{1,}"        pattern1 = re.compile(p1)                ids = pattern1.findall(all_the_text)        ids = list(set(ids))                for i in range(len(ids)):            s1 = ids[i]                p2 = s1+'</a>"></span>\n</td></tr><tr><td class="line-number" value="\d{1,}"></td><td class="line-content">'            pattern2 = re.compile(p2)            list2 = pattern2.findall(all_the_text)                        if len(list2)==0:                continue            s2 = list2[0]            p4 = s2 + '([\w\W]+?)' +'\n</td></tr><tr><td class="line-number" value="\d{1,}"></td><td class="line-content">        <span class="html-tag">'                        pattern4 = re.compile(p4)            res4 = pattern4.findall(all_the_text)                        res = res4[0]            res = res.replace(' ','')                        print(res)                        art_dic[s1] = res            art_url.append('http://blog.csdn.net'+s1)            art_titles.append(res)                       finally:         file_object.close()df1 = pd.DataFrame(art_url,columns=['url'])df2 = pd.DataFrame(art_titles,columns=['title'])df = pd.concat([df1,df2],axis=1)df.to_excel('article.xlsx')

至于中间,还有一些东西要这样写。

这是从那两个html的网页源代码里面看出来的。
网页源代码就是这样子。。。


过程还是很坎坷。
不过最后我还是存下来了。


3. 打开teleport ultra软件,拿着这些url去下载




把url粘贴进去,点开始下载就好了。
搞定。

1 0