返回

巧用Python一网打尽简书全部文章,图片也不放过!

见解分享

很多小伙伴在使用简书的时候,都遇到过一个问题:如何将自己发表在简书上的文章导出到本地,方便备份或者在其他平台发布?

导出文章本身并不是什么难事,简书提供了文章导出的功能。但遗憾的是,简书导出的文章只包含文字内容,不包含图片

对于一篇图文并茂的文章来说,没有图片就相当于缺了半条命。因此,为了真正实现文章的完整导出,我们需要另辟蹊径。

今天,我就给大家分享一个利用 Python 编写的工具,可以一键导出简书中的全部文章(包括图片)

一、导出文章文本

首先,我们需要导出文章的文本内容。这可以通过简书提供的导出功能轻松实现。

  1. 登录简书,找到要导出的文章。
  2. 点击文章右上角的「...」按钮,选择「导出」。
  3. 选择「导出为 Markdown」或「导出为 Word」格式。

导出的文件将包含文章的文本内容。

二、下载图片

接下来,我们需要下载文章中引用的所有图片。

  1. 使用 Python 的 requests 库获取文章的 HTML 代码。
  2. 使用 BeautifulSoup 库解析 HTML 代码,提取所有图片链接。
  3. 使用 urllib 库下载图片并保存到本地。

以下 Python 代码演示了如何下载图片:

import requests
from bs4 import BeautifulSoup
import urllib.request

# 获取文章 HTML 代码
html = requests.get(article_url).text

# 解析 HTML 代码
soup = BeautifulSoup(html, "html.parser")

# 提取图片链接
image_urls = [img["src"] for img in soup.find_all("img")]

# 下载图片
for image_url in image_urls:
    urllib.request.urlretrieve(image_url, f"image_{image_urls.index(image_url)}.jpg")

三、替换图片链接

最后,我们需要将文章中的图片链接替换为本地的图片链接。

  1. 使用 re 库查找文章中的图片链接。
  2. 将匹配到的图片链接替换为本地的图片路径。

以下 Python 代码演示了如何替换图片链接:

import re

# 查找图片链接
image_regex = r"\[!\[.*?\]\((.*?)\)\]"

# 替换图片链接
with open("article.md", "r") as f:
    article_content = f.read()

article_content = re.sub(image_regex, r"![图片]\(\1\)", article_content)

# 保存修改后的文章
with open("article.md", "w") as f:
    f.write(article_content)

四、工具使用

现在,我们已经将 Python 工具的功能都实现了。下面介绍如何使用这个工具:

  1. 将导出好的文章文本文件(article.md)和下载好的图片放入同一个文件夹中。
  2. 运行 Python 工具(export_simplean_articles.py)。
  3. 工具将自动处理所有文章,并生成包含图片的 Markdown 文件。

结语

通过使用这个 Python 工具,我们可以轻松地导出简书中的全部文章,包括图片。这样,我们就不用担心文章丢失或者无法在其他平台发布的问题了。

希望这个工具能够帮助到有需要的小伙伴们。