下面详细讲解如何使用 Python 导出 Chrome 书签到 Markdown 文件的实例代码。
准备工作
在开始之前,我们需要安装两个 Python 库:pandas
和 pywin32
。使用以下命令可安装:
pip install pandas
pip install pywin32
此外,我们还需要从 Chrome 中导出书签文件 bookmarks_YYYY_MM_DD.html
,其中 YYYY_MM_DD
是文件生成日期。我们可以通过 Chrome 浏览器中的 书签管理器
-> 导出书签
来生成该文件。
注意:在进行文件导出时,需要勾选 包括网站描述和网址
选项,方便后面的处理。
实现过程
接下来就是实现过程了。将以下代码复制到 .py
文件中:
import pandas as pd
import win32com.client as win32
def chrome_bookmark_to_markdown(file_name):
"""
将 Chrome 书签导出为 Markdown 格式
:param file_name: Chrome 导出的书签文件路径
"""
# 读取 HTML 文件
bookmarks_list = pd.read_html(file_name, header=0)[0]
# 创建 markdown 文件
markdown_file_name = f'{file_name[:-5]}.md'
markdown_file = open(markdown_file_name, mode='w', encoding='utf-8')
# 将书签名称和 URL 写入 markdown 文件
for index, row in bookmarks_list.iterrows():
if '网址' in row[0]:
markdown_file.write(f'- [{row[1]}]({row[2]})\n')
else:
markdown_file.write(f'\n## {row[0]}\n\n')
markdown_file.close()
# 将 markdown 文件转换为 PDF 文件
word = win32.DispatchEx('Word.Application')
docx_file_name = f'{file_name[:-5]}.docx'
docx_file = f'{file_name[:-5]}.docx'
word_doc = word.Documents.Open(markdown_file_name)
word_doc.SaveAs(docx_file, FileFormat=16) # FileFormat=16表示保存为PDF文件
word_doc.Close()
word.Quit()
代码中的 chrome_bookmark_to_markdown()
函数接受一个参数 file_name
,为 Chrome 导出的书签文件路径,函数中包含两个主要步骤:
- 读取 Chrome 书签 HTML 文件,并将书签名称和 URL 写入 Markdown 文件。
- 将 Markdown 文件转为 PDF 文件。
函数中使用了 Python 标准库 pandas
来读取 Chrome 书签 HTML 文件,并转换为 DataFrame 对象。之后,将书签名称和 URL 写入 Markdown 文件,这里使用了 Pandas 的 iterrows()
函数,对 DataFrame 的每一行进行迭代。最后,使用 pywin32
库将 Markdown 文件转换为 PDF 文件。
示例说明
我们来看两个示例说明。
示例一
假设我们从 Chrome 中导出的文件名为 bookmarks_2022_01_01.html
,我们可以将该文件名作为 chrome_bookmark_to_markdown()
函数中的参数传递,以将其转换为 Markdown 文件和 PDF 文件。
chrome_bookmark_to_markdown('bookmarks_2022_01_01.html')
这段代码会将 Chrome 导出的书签文件 bookmarks_2022_01_01.html
转换为 Markdown 文件和 PDF 文件,并命名为 bookmarks_2022_01_01.md
和 bookmarks_2022_01_01.pdf
。
示例二
假设我们想要将导出的书签文件 E:/chrome_bookmarks/bookmarks_2022_01_01.html
转换为 Markdown 文件和 PDF 文件,并保存到 E:/markdown_files
文件夹下。
import os
bookmarks_file = 'E:/chrome_bookmarks/bookmarks_2022_01_01.html'
markdown_folder = 'E:/markdown_files'
# 确保 markdown 文件夹存在
if not os.path.exists(markdown_folder):
os.makedirs(markdown_folder)
# 调用 chrome_bookmark_to_markdown() 函数并指定 markdown 文件夹
os.chdir(markdown_folder)
chrome_bookmark_to_markdown(bookmarks_file)
这段代码会将 Chrome 导出的书签文件 bookmarks_2022_01_01.html
转换为 Markdown 文件和 PDF 文件,并保存到 E:/markdown_files/bookmarks_2022_01_01.md
和 E:/markdown_files/bookmarks_2022_01_01.pdf
。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python导出chrome书签到markdown文件的实例代码 - Python技术站