hect0x7 / JMComic-Crawler-Python

Python API for JMComic | 提供Python API访问禁漫天堂,同时支持网页端和移动端 | 禁漫天堂GitHub Actions下载器🚀
https://jmcomic.readthedocs.io/zh-cn/latest/option_file_syntax/#
MIT License
792 stars 1.85k forks source link

【问题反馈】使用GitHub Actions下载禁漫本子(已截止于2023-08-12) #2

Closed hect0x7 closed 1 year ago

hect0x7 commented 1 year ago

✨提Issue注意✨

✨最新功能提醒✨

之前需要编辑文件提交才能触发Github Actions,现在不需要啦!

hect0x7 commented 1 year ago

action-1 action-2

有位用Github Actions下这个本子JM30801610.6W张图🤣 下载耗时4h 13m,一共下载了105390/106050张图,虽然少图但还算是成功跑完了。 上传耗时1h 11m,上传遇到问题失败了,整个工作流以失败告终,😂难绷。 上传失败的原因是,上传前要压缩文件夹,压缩过程中打开的图片过多,压缩到第33569个文件就失败了。

解决方式: 首先不推荐这么干,Github Actions跑的脚本是一次性下完全部本的章节的,这可能给禁漫服务器造成过大压力,甚至把服务器搞挂掉。而且风险也很大,我要是禁漫后端开发人员,直接封禁ip了,甚至可能要求网站强制登录,访问过频繁就直接封号。 其次,就算想要下,也建议本地安装,用你自己的电脑下,同时配置好你的下载策略,间歇性的访问。 最后,考虑到一个album里的文件数可能非常多,可以增加一个压缩photo的选项,将(531个章节共106050张图)→(531个压缩文件),这样应该能保证Github Actions的上传不会报错。 不过这么大的文件,用Github Actions下完,还得从Github上下载下来解压,为何不直接用本地下载呢......🤷‍♂️

buiawpkgew1 commented 1 year ago

我不理解为啥下载这么多

chenjunjia97 commented 1 year ago

image 这个怎么搞

hect0x7 commented 1 year ago

image 这个怎么搞

jm-comic1.cc这个域名暂时不适用,原因见Issue #14 你需要手动指定别的域名,比如 jmcomic2.group18comic.vip

chenjunjia97 commented 1 year ago

image 换成18comic.vip报443

hect0x7 commented 1 year ago

image 换成18comic.vip报443

18comic.vip需要梯子,你可以试别的域名,或者使用Github Actions。

chenjunjia97 commented 1 year ago

挂梯子了配的全局也不行

hect0x7 commented 1 year ago

挂梯子了配的全局也不行

让我看看你的option

chenjunjia97 commented 1 year ago

image

hect0x7 commented 1 year ago

image

你的option没配代理,你要在option当中配代理,因为请求库不会走系统代理的。 代理配置方式参考assets/config/option_use_proxy.yml,非常详细

chenjunjia97 commented 1 year ago

image 配哪个?

hect0x7 commented 1 year ago

image 配哪个?

都可以

chenjunjia97 commented 1 year ago

ok

llxb318000 commented 1 year ago

目前遇到两个问题,一是“keywords”这个的正则可能写错了(应该是html里多了个换行符)。二是无论输入哪个ID,只能下载第一章……

llxb318000 commented 1 year ago

目前遇到两个问题,一是“keywords”这个的正则可能写错了(应该是html里多了个换行符)。二是无论输入哪个ID,只能下载第一章……

hect0x7 commented 1 year ago

show me your code

llxb318000 commented 1 year ago

我使用了你提供的这种下载方式。

jm_option.save_to_file('./默认配置.yml')

我修改了配置里的域名,其他都没有修改。

jm_option = jmcomic.create_option('./默认配置.yml') jmcomic.download_album('396871', jm_option)

hect0x7 commented 1 year ago

我使用了你提供的这种下载方式。

jm_option.save_to_file('./默认配置.yml')

我修改了配置里的域名,其他都没有修改。

jm_option = jmcomic.create_option('./默认配置.yml') jmcomic.download_album('396871', jm_option)

keywords和只能下载第一章的问题,其实都是域名的问题,我猜你大概率使用的是jm-comic1.cc这类域名。 正如上文提到的,目前正则不太匹配这类域名的网页。 如果你使用的是18comic.vip,则没有任何问题。所以结论是,建议你配置代理使用。

rotent commented 1 year ago

为什么1.9.0 提交后action没有下载呢

hect0x7 commented 1 year ago

为什么1.9.0 提交后action没有下载呢

你是按照文档一步一步来的吗?https://github.com/hect0x7/JMComic-Crawler-Python/blob/master/assets/docs/%E6%95%99%E7%A8%8B%EF%BC%9A%E4%BD%BF%E7%94%A8Github%20Actions%E4%B8%8B%E8%BD%BD%E7%A6%81%E6%BC%AB%E6%9C%AC%E5%AD%90.md

rotent commented 1 year ago

是的,1.7.0还可以的,昨晚您更新了之后我跟着sync fork,怎么提交都没触发> > 为什么1.9.0 提交后action没有下载呢

你是按照文档一步一步来的吗?https://github.com/hect0x7/JMComic-Crawler-Python/blob/master/assets/docs/%E6%95%99%E7%A8%8B%EF%BC%9A%E4%BD%BF%E7%94%A8Github%20Actions%E4%B8%8B%E8%BD%BD%E7%A6%81%E6%BC%AB%E6%9C%AC%E5%AD%90.md

hect0x7 commented 1 year ago

是的,1.7.0还可以的,昨晚您更新了之后我跟着sync fork,怎么提交都没触发> > 为什么1.9.0 提交后action没有下载呢

你是按照文档一步一步来的吗?https://github.com/hect0x7/JMComic-Crawler-Python/blob/master/assets/docs/%E6%95%99%E7%A8%8B%EF%BC%9A%E4%BD%BF%E7%94%A8Github%20Actions%E4%B8%8B%E8%BD%BD%E7%A6%81%E6%BC%AB%E6%9C%AC%E5%AD%90.md

你试试编辑这个文件 https://github.com/rotent/JM/edit/workflow/usage/jmcomic_workflows.py

rotent commented 1 year ago

是的,1.7.0还可以的,昨晚您更新了之后我跟着sync fork,怎么提交都没触发> > 为什么1.9.0 提交后action没有下载呢

你是按照文档一步一步来的吗?https://github.com/hect0x7/JMComic-Crawler-Python/blob/master/assets/docs/%E6%95%99%E7%A8%8B%EF%BC%9A%E4%BD%BF%E7%94%A8Github%20Actions%E4%B8%8B%E8%BD%BD%E7%A6%81%E6%BC%AB%E6%9C%AC%E5%AD%90.md

你试试编辑这个文件 https://github.com/rotent/JM/edit/workflow/usage/jmcomic_workflows.py

感谢感谢,可以了

Greeay7 commented 1 year ago

Run cd ./usage/ Traceback (most recent call last): File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflows.py", line 50, in main() File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflows.py", line 9, in main from jmcomic import create_option, str_to_list, download_album, print_eye_catching ModuleNotFoundError: No module named 'jmcomic' Error: Process completed with exit code 1. 想问下这个报错的原因是什么啊?

hect0x7 commented 1 year ago

Run cd ./usage/ Traceback (most recent call last): File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflows.py", line 50, in main() File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflows.py", line 9, in main from jmcomic import create_option, str_to_list, download_album, print_eye_catching ModuleNotFoundError: No module named 'jmcomic' Error: Process completed with exit code 1. 想问下这个报错的原因是什么啊?

你是自己修改了工作流文件啊?为什么不按教程走?

Greeay7 commented 1 year ago

Run cd ./usage/ Traceback (most recent call last): File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflows.py", line 50, in main() File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflows.py", line 9, in main from jmcomic import create_option, str_to_list, download_album, print_eye_catching ModuleNotFoundError: No module named 'jmcomic' Error: Process completed with exit code 1. 想问下这个报错的原因是什么啊?

你是自己修改了工作流文件啊?为什么不按教程走?

我不加master,只是更改jmcomic_workflow.py,action 不会动不知道为什么,只能在push后加一个master...他才会动

hect0x7 commented 1 year ago

Run cd ./usage/ Traceback (most recent call last): File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflows.py", line 50, in main() File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflows.py", line 9, in main from jmcomic import create_option, str_to_list, download_album, print_eye_catching ModuleNotFoundError: No module named 'jmcomic' Error: Process completed with exit code 1. 想问下这个报错的原因是什么啊?

你是自己修改了工作流文件啊?为什么不按教程走?

我不加master,只是更改jmcomic_workflow.py,action 不会动不知道为什么,只能在push后加一个master...他才会动

为什么不改workflow分支的jmcomic_workflow.py?

Greeay7 commented 1 year ago

Run cd ./usage/ Traceback (most recent call last): File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflows.py", line 50, in main() File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflows.py", line 9, in main from jmcomic import create_option, str_to_list, download_album, print_eye_catching ModuleNotFoundError: No module named 'jmcomic' Error: Process completed with exit code 1. 想问下这个报错的原因是什么啊?

你是自己修改了工作流文件啊?为什么不按教程走?

我不加master,只是更改jmcomic_workflow.py,action 不会动不知道为什么,只能在push后加一个master...他才会动

为什么不改workflow分支的jmcomic_workflow.py? 哦,我懂了,谢谢,因为昨天那个网站我一开始一直进不去,就自己直接找了,改的是master分支的。。。抱歉,麻烦了

fvlw commented 1 year ago

图片 图片

AssertionError: 请求失败,响应状态码为403 无法下载。

hect0x7 commented 1 year ago

图片 图片

AssertionError: 请求失败,响应状态码为403 无法下载。

最近禁漫服务器好像崩得很厉害,今天开始禁漫给所有18comic.*的域名加了强制cloudflare人机验证,浏览器也绕不开。 Github Actions暂时不能用了,如果你还想用的话,唯一还可以使用的方式是:本地安装并选择禁漫的=內地網域=,例如 jm-comic2.cc

fvlw commented 1 year ago

图片 图片 AssertionError: 请求失败,响应状态码为403 无法下载。

最近禁漫服务器好像崩得很厉害,今天开始禁漫给所有18comic.*的域名加了强制cloudflare人机验证,浏览器也绕不开。 Github Actions暂时不能用了,如果你还想用的话,唯一还可以使用的方式是:本地安装并选择禁漫的=內地網域=,例如 jm-comic2.cc

老哥可以打包一份可执行exe吗 我发现releases没有可以直接可以运行的二进制文件

hect0x7 commented 1 year ago

图片 图片 AssertionError: 请求失败,响应状态码为403 无法下载。

最近禁漫服务器好像崩得很厉害,今天开始禁漫给所有18comic.*的域名加了强制cloudflare人机验证,浏览器也绕不开。 Github Actions暂时不能用了,如果你还想用的话,唯一还可以使用的方式是:本地安装并选择禁漫的=內地網域=,例如 jm-comic2.cc

老哥可以打包一份可执行exe吗 我发现releases没有可以直接可以运行的二进制文件

你会编程吗?这个仓库做的东西可不是什么可执行程序exe,而是python语言可以使用的API,需要你稍微有一点点编程经验才能上手。如果你不会编程,还是别费力气折腾了(no offence)

fvlw commented 1 year ago

图片 图片 AssertionError: 请求失败,响应状态码为403 无法下载。

最近禁漫服务器好像崩得很厉害,今天开始禁漫给所有18comic.*的域名加了强制cloudflare人机验证,浏览器也绕不开。 Github Actions暂时不能用了,如果你还想用的话,唯一还可以使用的方式是:本地安装并选择禁漫的=內地網域=,例如 jm-comic2.cc

老哥可以打包一份可执行exe吗 我发现releases没有可以直接可以运行的二进制文件

你会编程吗?这个仓库做的东西可不是什么可执行程序exe,而是python语言可以使用的API,需要你稍微有一点点编程经验才能上手。如果你不会编程,还是别费力气折腾了(no offence)

我不懂编程,我之前用过you-get这个项目也是python写的,他有提供可执行的二进制文件,https://github.com/LussacZheng/you-get.exe/releases

Jerry198384 commented 1 year ago

image 請問這個錯誤怎麼解決.謝謝!

hect0x7 commented 1 year ago

image 請問這個錯誤怎麼解決.謝謝!

最近比较特殊,你爬个楼看看上面的回答就知道了

hect0x7 commented 1 year ago

这个issue暂时关闭,因为各位遇到的问题完全相同,具体原因和解决方案看上面。

elarhy commented 1 year ago

Run cd ./usage/ cd ./usage/ python jmcomic_workflow_download.py shell: /usr/bin/bash -e {0} env: pythonLocation: /opt/hostedtoolcache/Python/3.11.3/x64 PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.3/x64/lib/pkgconfig Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.3/x64 Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.3/x64 Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.3/x64 LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.3/x64/lib JM_USERNAME: JM_PASSWORD: Traceback (most recent call last): File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflow_download.py", line 50, in main() File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflow_download.py", line 46, in main download_album(str_to_list(jm_albums), option=get_option()) ^^^^^^^^^^^^ File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflow_download.py", line 13, in get_option option = create_option('../assets/config/option_workflow_download.yml') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages/jmcomic/api.py", line 142, in create_option option = JmOption.from_file(filepath) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages/jmcomic/jm_option.py", line 289, in from_file return cls.construct(dic) ^^^^^^^^^^^^^^^^^^ File "/opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages/jmcomic/jm_option.py", line 272, in construct return cls(**dic) ^^^^^^^^^^ TypeError: JmOption.init() got an unexpected keyword argument 'dir_tree' Error: Process completed with exit code 1.

萌新不懂,之前1.9版本的时候跑没问题,今天更新了2.0一直卡死在这里。 爬楼看了下好像是网站那边的问题?

hect0x7 commented 1 year ago

Run cd ./usage/ cd ./usage/ python jmcomic_workflow_download.py shell: /usr/bin/bash -e {0} env: pythonLocation: /opt/hostedtoolcache/Python/3.11.3/x64 PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.3/x64/lib/pkgconfig Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.3/x64 Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.3/x64 Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.3/x64 LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.3/x64/lib JM_USERNAME: JM_PASSWORD: Traceback (most recent call last): File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflow_download.py", line 50, in main() File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflow_download.py", line 46, in main download_album(str_to_list(jm_albums), option=get_option()) ^^^^^^^^^^^^ File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflow_download.py", line 13, in get_option option = create_option('../assets/config/option_workflow_download.yml') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages/jmcomic/api.py", line 142, in create_option option = JmOption.from_file(filepath) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages/jmcomic/jm_option.py", line 289, in from_file return cls.construct(dic) ^^^^^^^^^^^^^^^^^^ File "/opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages/jmcomic/jm_option.py", line 272, in construct return cls(dic) ^^^^^^^^^^ TypeError: JmOption.init**() got an unexpected keyword argument 'dir_tree' Error: Process completed with exit code 1.

萌新不懂,之前1.9版本的时候跑没问题,今天更新了2.0一直卡死在这里。 爬楼看了下好像是网站那边的问题?

是我忘记改工作流的配置,你重新fork一下能用了

elarhy commented 1 year ago

Run cd ./usage/ cd ./usage/ python jmcomic_workflow_download.py shell: /usr/bin/bash -e {0} env: pythonLocation: /opt/hostedtoolcache/Python/3.11.3/x64 PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.3/x64/lib/pkgconfig Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.3/x64 Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.3/x64 Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.3/x64 LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.3/x64/lib JM_USERNAME: JM_PASSWORD: Traceback (most recent call last): File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflow_download.py", line 50, in main() File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflow_download.py", line 46, in main download_album(str_to_list(jm_albums), option=get_option()) ^^^^^^^^^^^^ File "/home/runner/work/JMComic-Crawler-Python/JMComic-Crawler-Python/usage/jmcomic_workflow_download.py", line 13, in get_option option = create_option('../assets/config/option_workflow_download.yml') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages/jmcomic/api.py", line 142, in create_option option = JmOption.from_file(filepath) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages/jmcomic/jm_option.py", line 289, in from_file return cls.construct(dic) ^^^^^^^^^^^^^^^^^^ File "/opt/hostedtoolcache/Python/3.11.3/x64/lib/python3.11/site-packages/jmcomic/jm_option.py", line 272, in construct return cls(dic) ^^^^^^^^^^ TypeError: JmOption.init**() got an unexpected keyword argument 'dir_tree' Error: Process completed with exit code 1. 萌新不懂,之前1.9版本的时候跑没问题,今天更新了2.0一直卡死在这里。 爬楼看了下好像是网站那边的问题?

是我忘记改工作流的配置,你重新fork一下能用了

谢谢~辛苦了大佬

fvlw commented 1 year ago

图片

还是403 为什么你的https://github.com/hect0x7/JMComic-Crawler-Python/actions/runs/4966621611 可以打包成功 我自己的https://github.com/fvlw/JMComic-Crawler-Python/actions/runs/5002781121/jobs/8963167818 就下载失败

hect0x7 commented 1 year ago

图片

还是403 为什么你的https://github.com/hect0x7/JMComic-Crawler-Python/actions/runs/4966621611 可以打包成功 我自己的https://github.com/fvlw/JMComic-Crawler-Python/actions/runs/5002781121/jobs/8963167818 就下载失败

因为前几天禁漫下人机验证了,这几天又加回来了,你过段时间再试试,说不定就又可以了。 当然,你也可以不这么被动,具体该怎么做请爬楼。

bjssliu commented 1 year ago

QQ截图20230517211504 用这个18comic.vip拒绝访问了,请问从哪修改这个默认的地址呢?

bjssliu commented 1 year ago

唯一还可以使用的方式是:本地安装并选择禁漫的=內地網域=,例如 jm-comic2.cc,这个位置在哪呢,没有找到

hect0x7 commented 1 year ago

唯一还可以使用的方式是:本地安装并选择禁漫的=內地網域=,例如 jm-comic2.cc,这个位置在哪呢,没有找到

使用配置文件的方式

aaaxukun commented 1 year ago

现在可以下载吗,今天试了一下,action不了

hect0x7 commented 1 year ago

现在可以下载吗,今天试了一下,action不了

最近都可以,但你没有按教程走,你的步骤是错的

aaaxukun commented 1 year ago

我一步步按教程来的,但真的action里面没有运行的程序qwq

aaaxukun commented 1 year ago

屏幕截图 2023-05-25 194446 是因为没有进行这一步吗

hect0x7 commented 1 year ago

https://github.com/hect0x7/JMComic-Crawler-Python/blob/master/assets/docs/%E6%95%99%E7%A8%8B%EF%BC%9A%E4%BD%BF%E7%94%A8Github%20Actions%E4%B8%8B%E8%BD%BD%E7%A6%81%E6%BC%AB%E6%9C%AC%E5%AD%90.md

Greeay7 commented 1 year ago

我想问下有什么批量下载github action workflow的结果artifacts的方式吗?只能自己一个个点击是吗?