CSDN 博客导出工具, 用于将 CSDN 博客导出为 Markdown / PDF 格式. 比较赞的地方在于, 它
不仅支持一篇博文的导出, 还支持将某个类目下的博文批量导出, 以及将导出的多篇博文汇总为
一篇, 以便用于全局搜索, 具体效果可以查看 .
./run.sh
, 使用 chmod +x run.sh
增加其可执行权限;(并没有测试)run.bat
, 双击打开或者在cmd中运行run.bat
。1、将下载的博客的图片分开保存在title…assets文件中,博客中有图片的时候才会创建图片目录,只会创建一次
utils.py 增加了一个参数title
def __init__(self, html, title, is_win=False):
self.html = html
self.soup = BeautifulSoup(html, 'html.parser')
self.outputs = []
self.fig_dir = f'./figures/{title}'+'.assets'
self.pre = False
self.equ_inline = False
self.is_win = is_win
self.recursive(self.soup)
recursive(self, soup):
def recursive(self, soup):
…………
elif tag == 'img':
if not exists(self.fig_dir): # 博客中有图片的时候才会创建图片目录,只会创建一次
os.makedirs(self.fig_dir)
…………
2、输入用户名就可以直接找到的用户的博客专栏,拿到所有专栏下面的文章
run.bat 先将所有的categories保存在userName.txt中
if %download_category% == "true" (
echo "Obtain blog directory link: save in userName.txt........"
python -u link.py %userName%
)
再读取userName.txt文件的链接
for /f "tokens=* delims=" %%a in (m0_67623521.txt) do (
echo %%a
if %download_category% == "true" (
echo "Download a category"
python -u main.py ^
--category_url %%a ^
--start_page %start_page% ^
--page_num %page_num% ^
--markdown_dir %markdown_dir% ^
--pdf_dir %pdf_dir% ^
--combine_together ^
--to_pdf ^
--is_win 1
@REM --with_title ^
@REM --rm_cache
)
)
link.py
user = sys.argv[1] # 拿到命令行下的用户名参数
将连接写入文件
for li in lis:
# print("####")
url = li.find("a").attrs['href']
title = li.find("span").attrs['title']
titles.append(title)
infos[title] = {"url":url}
# print("[+]"+title+url)
with open(user+'.txt','a+') as f: #设置文件对象
f.write(url)
f.write('\n')
另外要说明的是:
httpx
, requests
, BeautifulSoup
, bs4
;我参考了以下博文:
电脑Windows安装Aria2配置详细教程全能的下载神器
Aria2小白入门级部署
超简单的Aria2使用教程
Aria2傻瓜安装部署指南
Aria2 & YAAW 使用说明
如果想要下载配置好的aria2,可以在CSDN私聊我的博客 。
allenmirac-CSDNExporter
axzml-CSDNExporter
导出 CSDN 博客至 Markdown 或 PDF 格式 (近乎完美)
获取指定博主所有专栏链接及博文链接