JMComic-Crawler-Python icon indicating copy to clipboard operation
JMComic-Crawler-Python copied to clipboard

发现个章节下载的小问题

Open nakamiv opened this issue 1 year ago • 1 comments
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/) 原因可能为:
  1. id有误,检查你的本子id
  2. 该漫画只对登录用户可见,请配置你的cookies,或者使用移动端Client(api)

nakamiv avatar Apr 22 '24 07:04 nakamiv

我试了下,这个问题的原因似乎是禁漫的数据有误。禁漫返回的章节数据中的本子id不正确,导致请求章节所在本子找不到。

你提到的这两个本子,好像前端时间禁漫调整了他们的本子id,可能是禁漫章节数据没更新。

可以尝试如下任一解决方案:

  1. 用网页端,option配置如下
client:
  impl: html
  1. 用插件,option配置如下
plugins:
  after_init:
    - plugin: find_update # 只下载新章插件
      kwargs:
        564268: 561909
        564184: 563962

然后使用命令(无需追加id):

jmcomic 

hect0x7 avatar Apr 22 '24 08:04 hect0x7