Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
Mr.Fang edited this page Oct 12, 2024 · 10 revisions

wxdown

微信公众号离线文章保存

简介

公众号文章离线保存

  • 文件资源:支持图片、音频、视频(不含视频号,第三方视频资源)保存

  • 操作系统: window(不支持 win7)、Mac、Linux、Docker(自行构建)

  • 文章资源:标签合集,首页合集,单个文章(不支持获取历史)

  • 支持将 HTML 文章转换为 PDF 格式(需安装 wkhtmltopdf)

  • 支持 HTTP 基础认证(公网部署最好开启认证模式,防止有人瞎搞)

  • 支持图片直接转 base64 (本地将不存储图片)

安装和运行

解压zip免安装版双击 wxdowncmd 执行 wxdown 启动就 ok 了。浏览器访问 http://127.0.0.1:81

主界面

home

目录结构

软件目录

├─data # 下载资源目录
├─web # 管理端页面
├─wxdown # 可执行文件,软件启动入口
└─wkhtmltopdf.exe # html 转 pdf 程序

配置文件

# 服务端口
port: 81
# 本地数据文件存储路径
path: ./data
# 启动时在默认浏览器打开
# true 开启 false 关闭 默认:true
browser: true
# HTML 转 PDF 配置
# 下载 wkhtmltopdf 路径 https://wkhtmltopdf.org/downloads.html
# window 环境无需下载,已包含 wkhtmltopdf.exe。
# 如果你单独安装了 wkhtmltopdf 请删除根目录下 wkhtmltopdf.exe
wkhtmltopdf:
 # true 开启 false 关闭 默认关闭
 enable: true
 # linux 例如:/usr/local/wkhtmltopdf/bin/
 # window 例如:E:\Program Files\wkhtmltopdf\bin
 path:
# 采集线程配置
thread:
 # 同时下载 HTML 线程数量
 html: 10
 # 同时下载图片线程数量
 image: 20
# 图片转 base64 格式,系统不会下载图片,页面直接嵌入 base64 字符串
# true 开启 false 关闭(默认)
base64: false
# http 基础认证
auth:
 # true 开启 false 关闭 默认关闭
 enable: false
 # 用户 账号:密码
 users:

高级操作

接口信息

  • 接口地址: http://127.0.0.1:81/gather
  • 合集接口地址: http://127.0.0.1:81/collect
  • 支持方法: POST、HEAD、GET

1. POST 文章采集

  • 功能描述: 文章采集
  • 请求格式: JSON
  • 请求参数:
参数名 类型 必填 描述
folder string 文件名称
urls array 文章地址列表
  • 请求示例:
{
 "folder": "example",
 "urls": [
 "https://www.example.com/1",
 "https://www.example.com/2"
 ]
}
  • 响应格式: JSON
  • 响应参数:
参数名 类型 描述
code Int 状态码 200 成功 500 失败
success bool 成功true失败false
msg string 操作结果描述
timestamp long 时间戳
  • 响应示例:
{
 "code": 200,
 "success": true,
 "msg": "操作成功",
 "timestamp": 1728722608087
}

2. GET|HEAD 文章采集

  • 功能描述: 单个文章地址采集
  • 接口地址: http://127.0.0.1:81/gather
  • 合集接口地址: http://127.0.0.1:81/collect
  • 请求参数:
参数名 类型 必填 描述
url string 文章地址
  • 请求示例:
    • http://127.0.0.1:81/gather/https://www.example.com/1:单个文章地址采集
    • http://127.0.0.1:81/collect/https:/mp.weixin.qq.com/mp/appmsgalbum?xxxxxxxxx:合集地址采集
  • 响应格式: JSON
  • 响应示例:
{
 "code": 200,
 "success": true,
 "msg": "操作成功",
 "timestamp": 1728722608087
}

书签脚本

注意:如果启动软件的机器和浏览文章的机器不是一台机器,使用局域网 IP(192.168.0.xxx)替换 127.0.0.1

单文章脚本:

javascript:fetch("http://127.0.0.1:81/gather/" + window.location.href,{mode:"no-cors"});

合集脚本:

javascript:fetch("http://127.0.0.1:81/collect/" + window.location.href,{mode:"no-cors"});

使用方法:

  1. 浏览器书签栏➡️右键➡️添加网页...➡️名称:随便你能记住就行➡️网址:输入下面js脚本
  2. 打开浏览器公众号文章
  3. 点击上面添加的书签脚本软件会自动采集

苹果快捷指令

  • TODO

开启 HTTP 基础认证如何使用接口

headers 增加认证信息,Basic YWRtaW46MTIzNDU2,YWRtaW46MTIzNDU2 等于 账号:密码 base64 之后得到的结果。

Authorization:Basic YWRtaW46MTIzNDU2

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /