parsehub 2.0.41__tar.gz → 2.1.1__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 (74) hide show
  1. {parsehub-2.0.41/src/parsehub.egg-info → parsehub-2.1.1}/PKG-INFO +24 -21
  2. {parsehub-2.0.41 → parsehub-2.1.1}/README.md +23 -20
  3. {parsehub-2.0.41 → parsehub-2.1.1}/pyproject.toml +1 -1
  4. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/config/config.py +0 -4
  5. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/base/base.py +2 -3
  6. parsehub-2.1.1/src/parsehub/parsers/base/ytdlp.py +549 -0
  7. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/bilibili.py +22 -21
  8. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/youtube.py +21 -15
  9. parsehub-2.1.1/src/parsehub/parsers/parser/zhihu.py +64 -0
  10. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/coolapk.py +2 -2
  11. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/kuaishou.py +2 -2
  12. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/pipix.py +2 -2
  13. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/threads.py +2 -2
  14. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/tiktok.py +3 -3
  15. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/twitter.py +2 -2
  16. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/weixin.py +2 -2
  17. parsehub-2.1.1/src/parsehub/provider_api/zhihu.py +748 -0
  18. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/types/platform.py +1 -0
  19. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/types/result.py +1 -1
  20. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/utils/helpers.py +2 -0
  21. {parsehub-2.0.41 → parsehub-2.1.1/src/parsehub.egg-info}/PKG-INFO +24 -21
  22. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub.egg-info/SOURCES.txt +2 -0
  23. {parsehub-2.0.41 → parsehub-2.1.1}/test/test_core_offline.py +6 -0
  24. parsehub-2.0.41/src/parsehub/parsers/base/ytdlp.py +0 -284
  25. {parsehub-2.0.41 → parsehub-2.1.1}/LICENSE +0 -0
  26. {parsehub-2.0.41 → parsehub-2.1.1}/setup.cfg +0 -0
  27. {parsehub-2.0.41 → parsehub-2.1.1}/src/__init__.py +0 -0
  28. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/__init__.py +0 -0
  29. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/cli.py +0 -0
  30. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/cli_config.py +0 -0
  31. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/config/__init__.py +0 -0
  32. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/errors.py +0 -0
  33. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/__init__.py +0 -0
  34. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/base/__init__.py +0 -0
  35. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/__init__.py +0 -0
  36. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/coolapk.py +0 -0
  37. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/douyin.py +0 -0
  38. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/facebook.py +0 -0
  39. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/instagram.py +0 -0
  40. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/kuaishou.py +0 -0
  41. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/pipix.py +0 -0
  42. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/snapchat.py +0 -0
  43. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/threads.py +0 -0
  44. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/tieba.py +0 -0
  45. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/tiktok.py +0 -0
  46. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/twitter.py +0 -0
  47. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/weibo.py +0 -0
  48. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/weixin.py +0 -0
  49. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/xhs.py +0 -0
  50. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/xiaoheihe.py +0 -0
  51. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/parsers/parser/zuiyou.py +0 -0
  52. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/__init__.py +0 -0
  53. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/bilibili.py +0 -0
  54. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/douyin.py +0 -0
  55. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/instagram.py +0 -0
  56. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/tieba.py +0 -0
  57. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/weibo.py +0 -0
  58. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/xhs.py +0 -0
  59. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/xiaoheihe.py +0 -0
  60. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/provider_api/zuiyou.py +0 -0
  61. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/types/__init__.py +0 -0
  62. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/types/callback.py +0 -0
  63. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/types/media_file.py +0 -0
  64. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/types/media_ref.py +0 -0
  65. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/types/post.py +0 -0
  66. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/utils/downloader.py +0 -0
  67. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub/utils/media_info.py +0 -0
  68. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub.egg-info/dependency_links.txt +0 -0
  69. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub.egg-info/entry_points.txt +0 -0
  70. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub.egg-info/requires.txt +0 -0
  71. {parsehub-2.0.41 → parsehub-2.1.1}/src/parsehub.egg-info/top_level.txt +0 -0
  72. {parsehub-2.0.41 → parsehub-2.1.1}/test/test_cli.py +0 -0
  73. {parsehub-2.0.41 → parsehub-2.1.1}/test/test_cli_config.py +0 -0
  74. {parsehub-2.0.41 → parsehub-2.1.1}/test/test_downloader.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: parsehub
3
- Version: 2.0.41
3
+ Version: 2.1.1
4
4
  Summary: 轻量、异步、开箱即用的社交媒体聚合解析库
5
5
  Author-email: 梓澪 <zilingmio@gmail.com>
6
6
  License: MIT
@@ -70,26 +70,27 @@ Dynamic: license-file
70
70
 
71
71
  ## 🌐 支持平台
72
72
 
73
- | 平台 | 视频 | 图文 | 其他 |
74
- |-----------------|:--:|:-:|------|
75
- | **Twitter / X** | ✅ | ✅ | |
76
- | **Instagram** | ✅ | ✅ | |
77
- | **YouTube** | ✅ | | 🎵 音乐 |
78
- | **Facebook** | ✅ | | |
79
- | **Threads** | ✅ | ✅ | |
80
- | **Bilibili** | ✅ | | 📝 动态 |
81
- | **抖音** | ✅ | ✅ | ☀️日常 |
82
- | **TikTok** | ✅ | ✅ | |
83
- | **微博** | ✅ | ✅ | |
84
- | **小红书** | ✅ | ✅ | |
85
- | **贴吧** | ✅ | ✅ | |
86
- | **微信公众号** | | ✅ | |
87
- | **快手** | ✅ | | |
88
- | **酷安** | | ✅ | |
89
- | **皮皮虾** | ✅ | ✅ | |
90
- | **最右** | ✅ | ✅ | |
91
- | **小黑盒** | ✅ | ✅ | |
92
- | **Snapchat** | ✅ | | |
73
+ | 平台 | 视频 | 图文 | 其他 |
74
+ |-----------------|:--:|:--:|---------------|
75
+ | **Twitter / X** | ✅ | ✅ | 📝 文章 |
76
+ | **Instagram** | ✅ | ✅ | |
77
+ | **YouTube** | ✅ | | 🎵 音乐 |
78
+ | **Facebook** | ✅ | | |
79
+ | **Threads** | ✅ | ✅ | |
80
+ | **Bilibili** | ✅ | | 📝 动态 |
81
+ | **抖音** | ✅ | ✅ | ☀️日常 |
82
+ | **TikTok** | ✅ | ✅ | |
83
+ | **微博** | ✅ | ✅ | |
84
+ | **小红书** | ✅ | ✅ | |
85
+ | **贴吧** | ✅ | ✅ | |
86
+ | **微信公众号** | | ✅ | |
87
+ | **快手** | ✅ | | |
88
+ | **酷安** | | ✅ | |
89
+ | **皮皮虾** | ✅ | ✅ | |
90
+ | **最右** | ✅ | ✅ | |
91
+ | **小黑盒** | ✅ | ✅ | |
92
+ | **Snapchat** | ✅ | | |
93
+ | **知乎** | ✅ | ✅ | 🐶 问答, 专栏, 圈子 |
93
94
 
94
95
  ## 📦 安装
95
96
 
@@ -210,6 +211,7 @@ print(result)
210
211
  - `TikTok`
211
212
  - `快手`
212
213
  - `小红书`
214
+ - `知乎`
213
215
 
214
216
  ```python
215
217
  from parsehub import ParseHub
@@ -315,6 +317,7 @@ except ParseError as exc:
315
317
  - [instaloader/instaloader](https://github.com/instaloader/instaloader)
316
318
  - [SocialSisterYi/bilibili-API-collect](https://github.com/SocialSisterYi/bilibili-API-collect)
317
319
  - [Nemo2011/bilibili-api](https://github.com/Nemo2011/bilibili-api)
320
+ - [cv-cat/ZhihuApis](https://github.com/cv-cat/ZhihuApis)
318
321
 
319
322
  ## 📜 开源协议
320
323
 
@@ -28,26 +28,27 @@
28
28
 
29
29
  ## 🌐 支持平台
30
30
 
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
- | **小黑盒** | ✅ | ✅ | |
50
- | **Snapchat** | ✅ | | |
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
+ | **小黑盒** | ✅ | ✅ | |
50
+ | **Snapchat** | ✅ | | |
51
+ | **知乎** | ✅ | ✅ | 🐶 问答, 专栏, 圈子 |
51
52
 
52
53
  ## 📦 安装
53
54
 
@@ -168,6 +169,7 @@ print(result)
168
169
  - `TikTok`
169
170
  - `快手`
170
171
  - `小红书`
172
+ - `知乎`
171
173
 
172
174
  ```python
173
175
  from parsehub import ParseHub
@@ -273,6 +275,7 @@ except ParseError as exc:
273
275
  - [instaloader/instaloader](https://github.com/instaloader/instaloader)
274
276
  - [SocialSisterYi/bilibili-API-collect](https://github.com/SocialSisterYi/bilibili-API-collect)
275
277
  - [Nemo2011/bilibili-api](https://github.com/Nemo2011/bilibili-api)
278
+ - [cv-cat/ZhihuApis](https://github.com/cv-cat/ZhihuApis)
276
279
 
277
280
  ## 📜 开源协议
278
281
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "parsehub"
3
- version = "2.0.41"
3
+ version = "2.1.1"
4
4
  description = "轻量、异步、开箱即用的社交媒体聚合解析库"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12.0"
@@ -7,10 +7,6 @@ from pydantic import BaseModel, ConfigDict
7
7
  class _GlobalConfig(BaseModel):
8
8
  model_config = ConfigDict(validate_assignment=True)
9
9
 
10
- ua: str = (
11
- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
12
- "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36"
13
- )
14
10
  default_save_dir: Path = Path(sys.argv[0]).parent / "downloads"
15
11
  """默认下载目录"""
16
12
 
@@ -8,10 +8,9 @@ from urllib.parse import parse_qs, urlencode, urlparse
8
8
  import httpx
9
9
 
10
10
  from ... import parsers
11
- from ...config.config import GlobalConfig
12
11
  from ...types import AnyParseResult, ParseError
13
12
  from ...types.platform import Platform
14
- from ...utils.helpers import SecretCookie, match_url
13
+ from ...utils.helpers import UA, SecretCookie, match_url
15
14
 
16
15
 
17
16
  class BaseParser(ABC):
@@ -116,7 +115,7 @@ class BaseParser(ABC):
116
115
  r = await client.get(
117
116
  url,
118
117
  follow_redirects=True,
119
- headers={"User-Agent": GlobalConfig.ua},
118
+ headers={"User-Agent": UA},
120
119
  )
121
120
  except (httpx.ReadTimeout, httpx.ConnectTimeout) as e:
122
121
  raise ParseError("获取原始链接超时") from e