parsehub 2.0.38__tar.gz → 2.0.40__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. {parsehub-2.0.38/src/parsehub.egg-info → parsehub-2.0.40}/PKG-INFO +20 -19
  2. {parsehub-2.0.38 → parsehub-2.0.40}/README.md +19 -18
  3. {parsehub-2.0.38 → parsehub-2.0.40}/pyproject.toml +1 -1
  4. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/base/ytdlp.py +2 -0
  5. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/bilibili.py +1 -1
  6. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/instagram.py +1 -1
  7. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/youtube.py +1 -1
  8. {parsehub-2.0.38 → parsehub-2.0.40/src/parsehub.egg-info}/PKG-INFO +20 -19
  9. {parsehub-2.0.38 → parsehub-2.0.40}/LICENSE +0 -0
  10. {parsehub-2.0.38 → parsehub-2.0.40}/setup.cfg +0 -0
  11. {parsehub-2.0.38 → parsehub-2.0.40}/src/__init__.py +0 -0
  12. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/__init__.py +0 -0
  13. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/cli.py +0 -0
  14. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/cli_config.py +0 -0
  15. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/config/__init__.py +0 -0
  16. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/config/config.py +0 -0
  17. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/errors.py +0 -0
  18. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/__init__.py +0 -0
  19. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/base/__init__.py +0 -0
  20. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/base/base.py +0 -0
  21. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/__init__.py +0 -0
  22. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/coolapk.py +0 -0
  23. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/douyin.py +0 -0
  24. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/facebook.py +0 -0
  25. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/kuaishou.py +0 -0
  26. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/pipix.py +0 -0
  27. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/snapchat.py +0 -0
  28. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/threads.py +0 -0
  29. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/tieba.py +0 -0
  30. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/tiktok.py +0 -0
  31. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/twitter.py +0 -0
  32. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/weibo.py +0 -0
  33. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/weixin.py +0 -0
  34. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/xhs.py +0 -0
  35. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/xiaoheihe.py +0 -0
  36. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/parsers/parser/zuiyou.py +0 -0
  37. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/__init__.py +0 -0
  38. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/bilibili.py +0 -0
  39. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/coolapk.py +0 -0
  40. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/douyin.py +0 -0
  41. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/instagram.py +0 -0
  42. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/kuaishou.py +0 -0
  43. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/pipix.py +0 -0
  44. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/threads.py +0 -0
  45. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/tieba.py +0 -0
  46. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/tiktok.py +0 -0
  47. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/twitter.py +0 -0
  48. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/weibo.py +0 -0
  49. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/weixin.py +0 -0
  50. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/xhs.py +0 -0
  51. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/xiaoheihe.py +0 -0
  52. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/provider_api/zuiyou.py +0 -0
  53. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/types/__init__.py +0 -0
  54. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/types/callback.py +0 -0
  55. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/types/media_file.py +0 -0
  56. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/types/media_ref.py +0 -0
  57. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/types/platform.py +0 -0
  58. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/types/post.py +0 -0
  59. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/types/result.py +0 -0
  60. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/utils/downloader.py +0 -0
  61. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/utils/helpers.py +0 -0
  62. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub/utils/media_info.py +0 -0
  63. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub.egg-info/SOURCES.txt +0 -0
  64. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub.egg-info/dependency_links.txt +0 -0
  65. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub.egg-info/entry_points.txt +0 -0
  66. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub.egg-info/requires.txt +0 -0
  67. {parsehub-2.0.38 → parsehub-2.0.40}/src/parsehub.egg-info/top_level.txt +0 -0
  68. {parsehub-2.0.38 → parsehub-2.0.40}/test/test_cli.py +0 -0
  69. {parsehub-2.0.38 → parsehub-2.0.40}/test/test_cli_config.py +0 -0
  70. {parsehub-2.0.38 → parsehub-2.0.40}/test/test_core_offline.py +0 -0
  71. {parsehub-2.0.38 → parsehub-2.0.40}/test/test_downloader.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: parsehub
3
- Version: 2.0.38
3
+ Version: 2.0.40
4
4
  Summary: 轻量、异步、开箱即用的社交媒体聚合解析库
5
5
  Author-email: 梓澪 <zilingmio@gmail.com>
6
6
  License: MIT
@@ -70,24 +70,25 @@ Dynamic: license-file
70
70
  ## 🌐 支持平台
71
71
 
72
72
  | 平台 | 视频 | 图文 | 其他 |
73
- |-----------------|:--:|:--:|-------|
74
- | **Twitter / X** | ✅ | ✅ | |
75
- | **Instagram** | ✅ | ✅ | |
76
- | **YouTube** | ✅ | | 🎵 音乐 |
77
- | **Facebook** | ✅ | | |
78
- | **Threads** | ✅ | ✅ | |
79
- | **Bilibili** | ✅ | | 📝 动态 |
80
- | **抖音** | ✅ | ✅ | |
81
- | **TikTok** | ✅ | ✅ | |
82
- | **微博** | ✅ | ✅ | |
83
- | **小红书** | ✅ | ✅ | |
84
- | **贴吧** | ✅ | ✅ | |
85
- | **微信公众号** | | ✅ | |
86
- | **快手** | ✅ | | |
87
- | **酷安** | | ✅ | |
88
- | **皮皮虾** | ✅ | ✅ | |
89
- | **最右** | ✅ | ✅ | |
90
- | **小黑盒** | ✅ | ✅ | |
73
+ |-----------------|:--:|:-:|-------|
74
+ | **Twitter / X** | ✅ | ✅ | |
75
+ | **Instagram** | ✅ | ✅ | |
76
+ | **YouTube** | ✅ | | 🎵 音乐 |
77
+ | **Facebook** | ✅ | | |
78
+ | **Threads** | ✅ | ✅ | |
79
+ | **Bilibili** | ✅ | | 📝 动态 |
80
+ | **抖音** | ✅ | ✅ | |
81
+ | **TikTok** | ✅ | ✅ | |
82
+ | **微博** | ✅ | ✅ | |
83
+ | **小红书** | ✅ | ✅ | |
84
+ | **贴吧** | ✅ | ✅ | |
85
+ | **微信公众号** | | ✅ | |
86
+ | **快手** | ✅ | | |
87
+ | **酷安** | | ✅ | |
88
+ | **皮皮虾** | ✅ | ✅ | |
89
+ | **最右** | ✅ | ✅ | |
90
+ | **小黑盒** | ✅ | ✅ | |
91
+ | **Snapchat** | ✅ | | |
91
92
 
92
93
  ## 📦 安装
93
94
 
@@ -29,24 +29,25 @@
29
29
  ## 🌐 支持平台
30
30
 
31
31
  | 平台 | 视频 | 图文 | 其他 |
32
- |-----------------|:--:|:--:|-------|
33
- | **Twitter / X** | ✅ | ✅ | |
34
- | **Instagram** | ✅ | ✅ | |
35
- | **YouTube** | ✅ | | 🎵 音乐 |
36
- | **Facebook** | ✅ | | |
37
- | **Threads** | ✅ | ✅ | |
38
- | **Bilibili** | ✅ | | 📝 动态 |
39
- | **抖音** | ✅ | ✅ | |
40
- | **TikTok** | ✅ | ✅ | |
41
- | **微博** | ✅ | ✅ | |
42
- | **小红书** | ✅ | ✅ | |
43
- | **贴吧** | ✅ | ✅ | |
44
- | **微信公众号** | | ✅ | |
45
- | **快手** | ✅ | | |
46
- | **酷安** | | ✅ | |
47
- | **皮皮虾** | ✅ | ✅ | |
48
- | **最右** | ✅ | ✅ | |
49
- | **小黑盒** | ✅ | ✅ | |
32
+ |-----------------|:--:|:-:|-------|
33
+ | **Twitter / X** | ✅ | ✅ | |
34
+ | **Instagram** | ✅ | ✅ | |
35
+ | **YouTube** | ✅ | | 🎵 音乐 |
36
+ | **Facebook** | ✅ | | |
37
+ | **Threads** | ✅ | ✅ | |
38
+ | **Bilibili** | ✅ | | 📝 动态 |
39
+ | **抖音** | ✅ | ✅ | |
40
+ | **TikTok** | ✅ | ✅ | |
41
+ | **微博** | ✅ | ✅ | |
42
+ | **小红书** | ✅ | ✅ | |
43
+ | **贴吧** | ✅ | ✅ | |
44
+ | **微信公众号** | | ✅ | |
45
+ | **快手** | ✅ | | |
46
+ | **酷安** | | ✅ | |
47
+ | **皮皮虾** | ✅ | ✅ | |
48
+ | **最右** | ✅ | ✅ | |
49
+ | **小黑盒** | ✅ | ✅ | |
50
+ | **Snapchat** | ✅ | | |
50
51
 
51
52
  ## 📦 安装
52
53
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "parsehub"
3
- version = "2.0.38"
3
+ version = "2.0.40"
4
4
  description = "轻量、异步、开箱即用的社交媒体聚合解析库"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12.0"
@@ -4,6 +4,7 @@ from dataclasses import dataclass
4
4
  from pathlib import Path
5
5
  from typing import Any, cast
6
6
 
7
+ from loguru import logger
7
8
  from yt_dlp import YoutubeDL
8
9
 
9
10
  from ...types import (
@@ -32,6 +33,7 @@ def switch_ytdlp_proxy(ydl: YoutubeDL, proxy: str | None) -> None:
32
33
  director.close()
33
34
 
34
35
 
36
+ @logger.catch
35
37
  def download_video(yto_params: dict[str, Any], url: str, proxy: str | None = None) -> None:
36
38
  """在独立线程中下载视频"""
37
39
  try:
@@ -165,7 +165,7 @@ class BiliParse(YtParser):
165
165
  @property
166
166
  def params(self) -> dict[str, Any]:
167
167
  sub: dict[str, Any] = {
168
- "format": "mp4+bestvideo[height<=1080]+bestaudio",
168
+ "format": "mp4+bestvideo[height<=1080]+bestaudio/mp4+bestvideo+bestaudio/mp4+best",
169
169
  }
170
170
  p = sub | super().params
171
171
  return p
@@ -72,7 +72,7 @@ class InstagramParser(BaseParser):
72
72
  @staticmethod
73
73
  def get_short_code(url: str) -> str | None:
74
74
  url = url.removesuffix("/")
75
- shortcode = re.search(r"/(share|p|reels|.*/p)/(.*)", url)
75
+ shortcode = re.search(r"/(p|reel|reels|share|.*/p|.*/reel)/(.*)", url)
76
76
  return shortcode.group(2).split("/")[0] if shortcode else None
77
77
 
78
78
 
@@ -15,7 +15,7 @@ class YtbParse(YtParser):
15
15
  @property
16
16
  def params(self) -> dict[str, Any]:
17
17
  sub: dict[str, Any] = {
18
- "format": "mp4+bestvideo[height<=1080]+bestaudio",
18
+ "format": "mp4+bestvideo[height<=1080]+bestaudio/mp4+bestvideo+bestaudio/mp4+best",
19
19
  # "writesubtitles": True, # 下载字幕
20
20
  # "writeautomaticsub": True, # 下载自动生成的字幕
21
21
  # "subtitlesformat": "ttml", # 字幕格式
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: parsehub
3
- Version: 2.0.38
3
+ Version: 2.0.40
4
4
  Summary: 轻量、异步、开箱即用的社交媒体聚合解析库
5
5
  Author-email: 梓澪 <zilingmio@gmail.com>
6
6
  License: MIT
@@ -70,24 +70,25 @@ Dynamic: license-file
70
70
  ## 🌐 支持平台
71
71
 
72
72
  | 平台 | 视频 | 图文 | 其他 |
73
- |-----------------|:--:|:--:|-------|
74
- | **Twitter / X** | ✅ | ✅ | |
75
- | **Instagram** | ✅ | ✅ | |
76
- | **YouTube** | ✅ | | 🎵 音乐 |
77
- | **Facebook** | ✅ | | |
78
- | **Threads** | ✅ | ✅ | |
79
- | **Bilibili** | ✅ | | 📝 动态 |
80
- | **抖音** | ✅ | ✅ | |
81
- | **TikTok** | ✅ | ✅ | |
82
- | **微博** | ✅ | ✅ | |
83
- | **小红书** | ✅ | ✅ | |
84
- | **贴吧** | ✅ | ✅ | |
85
- | **微信公众号** | | ✅ | |
86
- | **快手** | ✅ | | |
87
- | **酷安** | | ✅ | |
88
- | **皮皮虾** | ✅ | ✅ | |
89
- | **最右** | ✅ | ✅ | |
90
- | **小黑盒** | ✅ | ✅ | |
73
+ |-----------------|:--:|:-:|-------|
74
+ | **Twitter / X** | ✅ | ✅ | |
75
+ | **Instagram** | ✅ | ✅ | |
76
+ | **YouTube** | ✅ | | 🎵 音乐 |
77
+ | **Facebook** | ✅ | | |
78
+ | **Threads** | ✅ | ✅ | |
79
+ | **Bilibili** | ✅ | | 📝 动态 |
80
+ | **抖音** | ✅ | ✅ | |
81
+ | **TikTok** | ✅ | ✅ | |
82
+ | **微博** | ✅ | ✅ | |
83
+ | **小红书** | ✅ | ✅ | |
84
+ | **贴吧** | ✅ | ✅ | |
85
+ | **微信公众号** | | ✅ | |
86
+ | **快手** | ✅ | | |
87
+ | **酷安** | | ✅ | |
88
+ | **皮皮虾** | ✅ | ✅ | |
89
+ | **最右** | ✅ | ✅ | |
90
+ | **小黑盒** | ✅ | ✅ | |
91
+ | **Snapchat** | ✅ | | |
91
92
 
92
93
  ## 📦 安装
93
94
 
File without changes
File without changes
File without changes
File without changes
File without changes