返回
巧用Python一网打尽简书全部文章,图片也不放过!
见解分享
2023-12-08 21:11:10
很多小伙伴在使用简书的时候,都遇到过一个问题:如何将自己发表在简书上的文章导出到本地,方便备份或者在其他平台发布?
导出文章本身并不是什么难事,简书提供了文章导出的功能。但遗憾的是,简书导出的文章只包含文字内容,不包含图片 。
对于一篇图文并茂的文章来说,没有图片就相当于缺了半条命。因此,为了真正实现文章的完整导出,我们需要另辟蹊径。
今天,我就给大家分享一个利用 Python 编写的工具,可以一键导出简书中的全部文章(包括图片) 。
一、导出文章文本
首先,我们需要导出文章的文本内容。这可以通过简书提供的导出功能轻松实现。
- 登录简书,找到要导出的文章。
- 点击文章右上角的「...」按钮,选择「导出」。
- 选择「导出为 Markdown」或「导出为 Word」格式。
导出的文件将包含文章的文本内容。
二、下载图片
接下来,我们需要下载文章中引用的所有图片。
- 使用 Python 的 requests 库获取文章的 HTML 代码。
- 使用 BeautifulSoup 库解析 HTML 代码,提取所有图片链接。
- 使用 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")
三、替换图片链接
最后,我们需要将文章中的图片链接替换为本地的图片链接。
- 使用 re 库查找文章中的图片链接。
- 将匹配到的图片链接替换为本地的图片路径。
以下 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 工具的功能都实现了。下面介绍如何使用这个工具:
- 将导出好的文章文本文件(article.md)和下载好的图片放入同一个文件夹中。
- 运行 Python 工具(export_simplean_articles.py)。
- 工具将自动处理所有文章,并生成包含图片的 Markdown 文件。
结语
通过使用这个 Python 工具,我们可以轻松地导出简书中的全部文章,包括图片。这样,我们就不用担心文章丢失或者无法在其他平台发布的问题了。
希望这个工具能够帮助到有需要的小伙伴们。