轻量、异步、开箱即用的社交媒体聚合解析库
Project description
✨ 特性
- 🌍 广泛的平台支持 — 覆盖国内外 16+ 主流社交媒体
- 🧹 隐私保护 — 自动清除链接中的跟踪参数, 返回干净的原始链接
- 🎬 多媒体支持 — 视频 / 图文 / 动图 / 实况照片,一网打尽
- 📦 开箱即用 —
async/await原生支持,API 极简 - 🤖 Telegram Bot — 基于本项目的 Bot 已上线 → @ParsehuBot
📦 安装
# pip
pip install parsehub
# uv (推荐)
uv add parsehub
要求 Python ≥ 3.12
🚀 快速开始
from parsehub import ParseHub
result = ParseHub().parse_sync("https://www.xiaoheihe.cn/app/bbs/link/174972336")
print(result)
# ImageParseResult(platform=小黑盒, title=名为希望和绝望的红包, content=[cube_doge][cube_doge][cube_doge], media=[17], raw_url=https://www.xiaoheihe.cn/app/bbs/link/174972336)
下载媒体
from parsehub import ParseHub
result = ParseHub().download_sync("https://www.xiaoheihe.cn/app/bbs/link/174972336")
print(result)
# DownloadResult(media=[ImageFile(path='D:\\downloads\\名为希望和绝望的红包\\0.jpg', width=1773, height=2364), ...], output_dir=D:\downloads\名为希望和绝望的红包)
🌐 支持平台
| 平台 | 视频 | 图文 | 其他 |
|---|---|---|---|
| Twitter / X | ✅ | ✅ | |
| ✅ | ✅ | ||
| YouTube | ✅ | 🎵 音乐 | |
| ✅ | |||
| Threads | ✅ | ✅ | |
| Bilibili | ✅ | 📝 动态 | |
| 抖音 / TikTok | ✅ | ✅ | |
| 微博 | ✅ | ✅ | |
| 小红书 | ✅ | ✅ | |
| 贴吧 | ✅ | ✅ | |
| 微信公众号 | ✅ | ||
| 快手 | ✅ | ||
| 酷安 | ✅ | ✅ | |
| 皮皮虾 | ✅ | ✅ | |
| 最右 | ✅ | ✅ | |
| 小黑盒 | ✅ | ✅ |
🔧 更多平台持续接入中...
🔑 高级用法
Cookie 登录 & 代理
部分平台的内容需要登录才能访问,通过 Cookie 即可解锁:
from parsehub import ParseHub
from parsehub.config import ParseConfig
config = ParseConfig(
cookie="key1=value1; key2=value2", # 从浏览器中获取
proxy="http://127.0.0.1:7890", # 可选
)
ph = ParseHub(config=config)
Cookie 支持多种格式传入:
# 字符串
ParseConfig(cookie="key1=value1; key2=value2")
# JSON 字符串
ParseConfig(cookie='{"key1": "value1", "key2": "value2"}')
# 字典
ParseConfig(cookie={"key1": "value1", "key2": "value2"})
目前支持 Cookie 登录的平台:
Twitter · Instagram · Kuaishou · Bilibili · YouTube
全局配置
from parsehub.config import GlobalConfig
# 自定义默认下载目录
GlobalConfig.default_save_dir = "./my_downloads"
# 视频时长限制 (超过此时长将下载最低画质,0 为不限制)
GlobalConfig.duration_limit = 600 # 秒
🤝 参考项目
- Evil0ctal/Douyin_TikTok_Download_API
- yt-dlp/yt-dlp
- instaloader/instaloader
- SocialSisterYi/bilibili-API-collect
- Nemo2011/bilibili-api
📜 开源协议
本项目基于 MIT License 开源。
如果这个项目对你有帮助,欢迎点个 ⭐ Star!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file parsehub-2.0.1.tar.gz.
File metadata
- Download URL: parsehub-2.0.1.tar.gz
- Upload date:
- Size: 54.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45d6a5b446d4259182c899d0b4690617245ba25eb46258ab1956edbf90c13f46
|
|
| MD5 |
d114a44989f4eb86efe34cf31ac593f7
|
|
| BLAKE2b-256 |
44d22b39079775dc7d3597eb41dd402114baab9f1aee8dacb897a52306bd65be
|
Provenance
The following attestation bundles were made for parsehub-2.0.1.tar.gz:
Publisher:
python-publish.yml on z-mio/ParseHub
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
parsehub-2.0.1.tar.gz -
Subject digest:
45d6a5b446d4259182c899d0b4690617245ba25eb46258ab1956edbf90c13f46 - Sigstore transparency entry: 975891186
- Sigstore integration time:
-
Permalink:
z-mio/ParseHub@6032a0b9921a61b27194d14a4d0b2ac0308bd3e8 -
Branch / Tag:
refs/tags/v2.0.1 - Owner: https://github.com/z-mio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@6032a0b9921a61b27194d14a4d0b2ac0308bd3e8 -
Trigger Event:
release
-
Statement type:
File details
Details for the file parsehub-2.0.1-py3-none-any.whl.
File metadata
- Download URL: parsehub-2.0.1-py3-none-any.whl
- Upload date:
- Size: 71.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab709a9cb41d03657e874c0c95e941a55817f9935c8ca2cbf6101d1aa5c41163
|
|
| MD5 |
ba1e4536a4565933330c9dc4acd969f6
|
|
| BLAKE2b-256 |
0cc9fa44ce9db9770ea69a4d98ae6282ff4375f6f21b6b64981b12c7bff2e2ec
|
Provenance
The following attestation bundles were made for parsehub-2.0.1-py3-none-any.whl:
Publisher:
python-publish.yml on z-mio/ParseHub
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
parsehub-2.0.1-py3-none-any.whl -
Subject digest:
ab709a9cb41d03657e874c0c95e941a55817f9935c8ca2cbf6101d1aa5c41163 - Sigstore transparency entry: 975891189
- Sigstore integration time:
-
Permalink:
z-mio/ParseHub@6032a0b9921a61b27194d14a4d0b2ac0308bd3e8 -
Branch / Tag:
refs/tags/v2.0.1 - Owner: https://github.com/z-mio
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@6032a0b9921a61b27194d14a4d0b2ac0308bd3e8 -
Trigger Event:
release
-
Statement type: