download¶
Functions:
| Name | Description |
|---|---|
download_album |
下载一个本子(album),包含其所有的章节(photo) |
download_photo |
下载一个章节(photo),参数同 download_album |
create_option_by_env |
|
create_option_by_file |
|
create_option_by_str |
|
download_album_async |
异步下载一个本子(album),包含其所有的章节(photo)。 |
download_photo_async |
异步下载一个章节(photo)。 |
download_batch_async |
异步批量下载 album / photo。 |
create_option = create_option_by_file
module-attribute
¶
download_album(jm_album_id, option=None, downloader=None, callback=None, check_exception=True, extra=None)
¶
下载一个本子(album),包含其所有的章节(photo)
当jm_album_id不是str或int时,视为批量下载,相当于调用 download_batch(download_album, jm_album_id, option, downloader)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
jm_album_id
|
本子的禁漫车号 |
required | |
option
|
下载选项 |
None
|
|
downloader
|
下载器类 |
None
|
|
callback
|
返回值回调函数,可以拿到 album 和 downloader |
None
|
|
check_exception
|
是否检查异常, 如果为True,会检查downloader是否有下载异常,并上抛PartialDownloadFailedException |
True
|
|
extra
|
下载特性(Feature),下载时动态挂载的附加行为上下文。会自动根据上下文(如 album/photo 来源)自适应参数行为。支持单个 Feature、FeatureChain、或列表 |
None
|
Returns:
| Type | Description |
|---|---|
Union[__DOWNLOAD_API_RET, Set[__DOWNLOAD_API_RET]]
|
对于的本子实体类,下载器(如果是上述的批量情况,返回值为download_batch的返回值) |
Source code in src/jmcomic/api.py
download_photo(jm_photo_id, option=None, downloader=None, callback=None, check_exception=True, extra=None)
¶
下载一个章节(photo),参数同 download_album
Source code in src/jmcomic/api.py
create_option_by_env(env_name='JM_OPTION_PATH')
¶
Source code in src/jmcomic/api.py
create_option_by_file(filepath)
¶
create_option_by_str(text, mode=None)
¶
download_album_async(jm_album_id, option=None, downloader=None, callback=None, check_exception=True, extra=None)
async
¶
异步下载一个本子(album),包含其所有的章节(photo)。
- 支持批量下载(当 jm_album_id 为可迭代对象时)
- 返回 (album, downloader) 元组
Source code in src/jmcomic/api.py
download_photo_async(jm_photo_id, option=None, downloader=None, callback=None, check_exception=True, extra=None)
async
¶
异步下载一个章节(photo)。
Source code in src/jmcomic/api.py
download_batch_async(download_api, jm_id_iter, option=None, downloader=None, **kwargs)
async
¶
异步批量下载 album / photo。 - 容错机制:单个 album/photo 失败不会中止整批,也不会丢失其它已完成结果。
Source code in src/jmcomic/api.py
异步下载器 —— 对齐 sync JmDownloader
设计原则: - 继承 JmDownloader,复用回调体系(before_album/after_album 等)和 plugin 调用 - 下载 IO(asyncio)与 CPU 解密(ThreadPoolExecutor)流水线化 - 通过 asyncio.Semaphore 控制并发
JmAsyncDownloader
¶
Bases: BaseDownloader
全异步流水线下载器。
核心设计: - 下载 IO 与 CPU 解密(ThreadPoolExecutor)完全流水线化 - 通过 asyncio.Semaphore 实现并发控制 - 继承 JmDownloader 的回调体系和 Plugin 调用
Methods:
| Name | Description |
|---|---|
download_album |
对齐 sync JmDownloader.download_album |
download_by_album_detail |
异步下载整个本子。 |
download_by_photo_detail |
异步下载一个章节的所有图片。 |
download_photo |
对齐 sync JmDownloader.download_photo |
shutdown |
关闭解密线程池 |
Source code in src/jmcomic/jm_async_downloader.py
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 | |
download_album(album_id)
async
¶
对齐 sync JmDownloader.download_album
download_by_album_detail(album)
async
¶
异步下载整个本子。 对齐 sync JmDownloader.download_by_album_detail 的回调链路。
Source code in src/jmcomic/jm_async_downloader.py
download_by_photo_detail(photo)
async
¶
异步下载一个章节的所有图片。 对齐 sync JmDownloader.download_by_photo_detail 的回调链路。
Source code in src/jmcomic/jm_async_downloader.py
download_photo(photo_id)
async
¶
对齐 sync JmDownloader.download_photo