python导出chrome书签到markdown文件的实例代码

下面详细讲解如何使用 Python 导出 Chrome 书签到 Markdown 文件的实例代码。

准备工作

在开始之前,我们需要安装两个 Python 库:pandaspywin32。使用以下命令可安装:

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 导出的书签文件路径,函数中包含两个主要步骤:

  1. 读取 Chrome 书签 HTML 文件,并将书签名称和 URL 写入 Markdown 文件。
  2. 将 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.mdbookmarks_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.mdE:/markdown_files/bookmarks_2022_01_01.pdf

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python导出chrome书签到markdown文件的实例代码 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 使用python解析json文件

    【问题标题】:Parse json file using python使用python解析json文件 【发布时间】:2023-04-02 06:37:01 【问题描述】: 我有一个 .json 文件,前几行是: { “global_id”: “HICO_train2015_00000001”, “hois”: [ { “connections”: [ [ …

    Python开发 2023年4月8日
    00
  • Python编程中字符串和列表的基本知识讲解

    以下是“Python编程中字符串和列表的基本知识讲解”的完整攻略。 1. Python中的字符串 在Python中,字符串是一种常用的数据类型,用于表示文本。字符串使用单引号、双引号或三引号来定义。例如: my_string = ‘Hello, World!’ 在上面的示例代码中,我们定义了一个名为my_string的字符串,其中包含文本“Hello, Wo…

    python 2023年5月13日
    00
  • Python多进程与服务器并发原理及用法实例分析

    Python多进程与服务器并发原理及用法实例分析 1. 概述 本文将介绍Python多进程和服务器并发编程相关的知识,包括以下几个方面: 什么是进程和并发编程 Python多进程模块multiprocessing的基本使用方法 Python服务器并发编程的基本原理 Python服务器并发编程的实例分析 2. 进程和并发编程 进程是计算机中运行程序的基本单位,…

    python 2023年5月14日
    00
  • Pycharm使用时会出现的问题之cv2无法安装解决

    当使用Pycharm开发时,有时会碰到需要安装cv2库但是无法正常安装的情况。这种情况通常是由于安装cv2库需要依赖于其他的库,以及可能会受到网络连接等各种不确定因素的影响所引起的。 为了解决这个问题,我们可以按照以下步骤进行尝试: 步骤一:安装numpy 首先需要安装numpy,这是cv2库的依赖包之一。 可以使用以下代码进行安装: pip install…

    python 2023年5月13日
    00
  • python如何将mat文件转为png

    让我给您讲解关于”Python如何将mat文件转为png”的完整攻略。 1. 安装依赖库 在Python中,将mat文件转换为png需要使用到SciPy和Matplotlib这两个库。如果您的Python环境中没有安装这些库,可以通过pip来安装。 pip install scipy pip install matplotlib 2. 读取mat文件 使用P…

    python 2023年6月2日
    00
  • Python之用户输入的实例

    下面是Python用户输入的完整攻略。 标题:Python之用户输入的实例 1、用户输入基本操作 Python中的input()函数可以接收用户输入的数据。当程序运行到该语句时,程序会暂停并等待用户输入。当用户输入完成后,该函数会把接收到的数据以字符串的形式返回给调用的程序。 示例1: #用户输入自己的姓名和年龄 name = input("请输入…

    python 2023年6月5日
    00
  • Python time.time()方法

    当我们使用Python来编写一些时间相关的程序的时候,可能需要用到时间戳(timestamp)的概念。Python内置了一个用于获取当前时间戳的方法——time.time(),它可以返回自1970年1月1日以来的秒数。下面将详细讲解time.time()方法的使用方法和注意事项。 1. time.time()方法的基本用法 time.time()方法是tim…

    python 2023年6月2日
    00
  • Python3.6安装及引入Requests库的实现方法

    下面是“Python3.6安装及引入Requests库的实现方法”的完整攻略。 安装Python3.6 前往 Python官网 下载Python3.6的安装包,选择适合你操作系统的版本。 双击运行安装包,选择“Add Python to PATH”选项并确保安装路径无误,然后点击“Install Now”按钮。 等待安装完成,可以在命令行输入python命令…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部