JMComic-Crawler-Python
JMComic-Crawler-Python copied to clipboard
发现个章节下载的小问题
trafficstars
比如社团学姐, 漫画id是564268 jmcomic 564268 可以下载到全部。但是她最新章节 561909, 我用jmcomic p561909 就会提示不存在这本漫画。很奇怪的问题 另一本是 大學生活就從社團開始 564184, jmcomic 564184 成功 单独下载章节失败 jmcomic p563992
有时候不想下载整本漫画,因为前面章节看过了。就想下载最新的。
C:\Users\Administrator>jmcomic p563992 [2024-04-22 15:18:20] [MainThread]:【command_line】start downloading...
- using option: [D:\myoption.yml] to be downloaded:
- album: []
- photo: ['563992']
[2024-04-22 15:18:20] [MainThread]:【plugin.invoke】调用插件: [login]
[2024-04-22 15:18:20] [MainThread]:【api】https://www.jmapinode.xyz/setting
[2024-04-22 15:18:20] [MainThread]:【api.setting】change APP_VERSION from [1.6.7] to [1.6.8]
[2024-04-22 15:18:20] [MainThread]:【api】https://www.jmapinode.xyz/login
[2024-04-22 15:18:20] [MainThread]:【plugin.login】登录成功
[2024-04-22 15:18:20] [Thread-1]:【api】https://www.jmapinode.xyz/chapter?id=563992
[2024-04-22 15:18:21] [Thread-1]:【api】https://www.jmapinode.xyz/album?id=396774
[2024-04-22 15:18:21] [Thread-1]:【dler.exception】JmDownloader Exit with exception: (<class 'jmcomic.jm_exception.MissingAlbumPhotoException'>, MissingAlbumPhotoException('请求的本子不存在!(https://18comic.vip/album/396774/)\n原因可能为:\n1. id有误,检查你的本子id\n2. 该漫画只对登录用户可见,请配置你的cookies,或者使用移动端Client(api)\n', {'resp': <jmcomic.jm_client_interface.JmApiResp object at 0x0000028BEE6BDD60>, 'missing_jm_id': '396774'}))
Exception in thread Thread-1:
Traceback (most recent call last):
File "c:\program files\python\lib\threading.py", line 932, in _bootstrap_inner
self.run()
File "c:\program files\python\lib\threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "c:\program files\python\lib\site-packages\jmcomic\api.py", line 35, in
apply_each_obj_func=lambda aid: download_api(aid, File "c:\program files\python\lib\site-packages\jmcomic\api.py", line 86, in download_photo photo = dler.download_photo(jm_photo_id) File "c:\program files\python\lib\site-packages\jmcomic\jm_downloader.py", line 77, in download_photo photo = client.get_photo_detail(photo_id) File "c:\program files\python\lib\site-packages\jmcomic\jm_client_impl.py", line 635, in get_photo_detail self.fetch_photo_additional_field(photo, fetch_album, fetch_scramble_id) File "c:\program files\python\lib\site-packages\jmcomic\jm_client_impl.py", line 714, in fetch_photo_additional_field photo.from_album = self.get_album_detail(photo.album_id) File "c:\program files\python\lib\site-packages\jmcomic\jm_client_impl.py", line 622, in get_album_detail return self.fetch_detail_entity(album_id, File "c:\program files\python\lib\site-packages\jmcomic\jm_client_impl.py", line 180, in cache_wrapper return func(*args, **kwargs) File "c:\program files\python\lib\site-packages\jmcomic\jm_client_impl.py", line 663, in fetch_detail_entity resp = self.req_api(self.append_params_to_url( File "c:\program files\python\lib\site-packages\jmcomic\jm_client_impl.py", line 869, in req_api self.require_resp_success(resp, url) File "c:\program files\python\lib\site-packages\jmcomic\jm_client_impl.py", line 916, in require_resp_success ExceptionTool.raise_missing(resp, JmcomicText.parse_to_jm_id(url)) File "c:\program files\python\lib\site-packages\jmcomic\jm_exception.py", line 144, in raise_missing cls.raises( File "c:\program files\python\lib\site-packages\jmcomic\jm_exception.py", line 100, in raises raise e jmcomic.jm_exception.MissingAlbumPhotoException: 请求的本子不存在!(https://18comic.vip/album/396774/) 原因可能为:
- id有误,检查你的本子id
- 该漫画只对登录用户可见,请配置你的cookies,或者使用移动端Client(api)
我试了下,这个问题的原因似乎是禁漫的数据有误。禁漫返回的章节数据中的本子id不正确,导致请求章节所在本子找不到。
你提到的这两个本子,好像前端时间禁漫调整了他们的本子id,可能是禁漫章节数据没更新。
可以尝试如下任一解决方案:
- 用网页端,option配置如下
client:
impl: html
- 用插件,option配置如下
plugins:
after_init:
- plugin: find_update # 只下载新章插件
kwargs:
564268: 561909
564184: 563962
然后使用命令(无需追加id):
jmcomic