迁移博客

我是从18年开始写一些东西,先写在看云笔记上,后面东西越来越多。写出来的东西比较零散.

20年下半年入职新公司,开始在csdn上写博客,今年我准备尝试使用个人博客,hugo和gitPage结合部署静态博客,csdn上没怎么更新.

这两天在研究skynet框架,顺手写了几篇博客,又看到网上 飞雪 开发的hugo主题简介漂亮,于是就把个人博客整理了一下,并且把csdn的博客迁移了过来。

我在飞雪的主题上加了个随机名人名言的功能,挺有意思.

csdn博客导出

感谢 yushuaigee 提供了一个csdn博客迁移到个人博客的python脚本。他已经把基础功能实现了,我自己在他的基础上做了改,1 是替换 html标签,2是 开始在网页上articles标签没找到 以至于没有找到博客,我把改动的部分贴下来:

def get_article_info(url):
    html = requests.get(url, headers=headers).text
    selector = parsel.Selector(html)
    urls = selector.css('article.blog-list-box > a').xpath('.//@href').getall() ##改动
    print('共找到%d篇文章...' % len(urls))
    return urls
def get_html_from_csdn(url):
    ...
    category = selector.css('div.blog-tags-box > div > a::text').getall()[0] if selector.css('div.blog-tags-box > div > a::text').getall() else "TODO" ##改动
    ...
    return title, article, category, tags, time_stamp, author, origin
def html_to_md(title, article, category, tags, time_stamp, author, origin):
    ...
    text = "---\ntitle: %s\ndate: %s\ntags: [%s]\ncategories: [%s]\n---\n\n%s" % (
        title, time_stamp, ', '.join(tags), category, md) ## 改动
    ...

## 新增函数, 按需使用
## 这个函数可以替换文件中的html标签
def relmd(file):
    with open(file, "r") as r:
        lines=r.readlines()
    with open(file, "w") as w:
        for html in lines:
            html = html.replace('"', '"')
            html = html.replace('&', '&')
            html = html.replace('&lt;', '<')
            html = html.replace('&gt;', '>')
            html = html.replace('&nbsp;', ' ')
            w.write(html)

--完--