ComicCrawler
ComicCrawler copied to clipboard
请问能提供漫画网址转换的功能吗?
以前下载了许多在www.ikanman.com
这个网站的漫画,但现在这个网站的网址改为www.manhuagui.com
了,www.ikanman.com
这个网址已经403了,直接将ikanman替换为manhuagui的话是可以访问的。
執行這支 python script 試試。請先備份存檔!
from comiccrawler.mission_manager import mission_manager, edit_mission_id, init_episode
POOL_NAMES = ["view", "library"]
TARGET = "ikanman.com"
REPL = "manhuagui.com"
for mission in mission_manager.pool.values():
if TARGET not in mission.url:
continue
old_url = mission.url
with edit_mission_id(mission):
mission.url = old_url.replace(TARGET, REPL)
del mission_manager.pool[old_url]
mission_manager.pool[mission.url] = mission
for name in POOL_NAMES:
pool = getattr(mission_manager, name)
if old_url in pool:
del pool[old_url]
pool[mission.url] = mission
print(old_url, mission.url)
mission_manager.edit = True
mission_manager.save()
順帶一提,我這邊看 http://www.ikanman.com/ 是 301 不是 403,所以即使不改網址也沒問題。
thx 要备份的是用户文件夹下的comiccrawler文件夹吗?
順帶一提,我這邊看 http://www.ikanman.com/ 是 301 不是 403,所以即使不改網址也沒問題。
我这里打开 http://www.ikanman.com/ 就是403,目前是用hosts将 www.manhuagui.com 的ip代替 www.ikanman.com 原本的ip来解决问题
要备份的是用户文件夹下的comiccrawler文件夹吗?
沒錯。包括 setting.ini (設定檔)、view.json, pool.json, library.json (任務列表)、和 pool 資料夾下的所有檔案(集數列表)。
目前版本使用這個改名指令會出現以下錯誤 不知道是不是有什麼變數改名字了?
Traceback (most recent call last):
File "manhuagui.py", line 1, in
edit_mission_id
現在位於 comiccrawler.episode_loader
底下︰
from comiccrawler.episode_loader import edit_mission_id
修正edit_mission_id的呼叫之後錯誤訊息變成init_episode 但我在各檔案中都找不到這句,請問init_episode目前是改名了嗎?
Traceback (most recent call last):
File "manhuagui.py", line 1, in
砍掉呼叫init_episode硬是使用的話,會出現以下錯誤,然後實際上好像沒有修改到
Traceback (most recent call last):
File "manhuagui.py", line 8, in
init_episode
的確是沒有在使用,移除也沒影響。修改成如下試試︰
from comiccrawler.mission_manager import mission_manager
from comiccrawler.episode_loader import edit_mission_id
POOL_NAMES = ["view", "library"]
TARGET = "ikanman.com"
REPL = "manhuagui.com"
for mission in list(mission_manager.pool.values()):
if TARGET not in mission.url:
continue
old_url = mission.url
with edit_mission_id(mission):
mission.url = old_url.replace(TARGET, REPL)
del mission_manager.pool[old_url]
mission_manager.pool[mission.url] = mission
for name in POOL_NAMES:
pool = getattr(mission_manager, name)
if old_url in pool:
del pool[old_url]
pool[mission.url] = mission
print(old_url, mission.url)
mission_manager.edit = True
mission_manager.save()
dictionary changed size during iteration
是字典 mission_manager.pool
在迴圈中被修改會跳出的錯誤。換句話說,那份程式碼是完全沒用的……不知道 @wby238 是否有發現。
eight你好, 我用这个脚本可以替换library.json、view.json。 pool.json和pool文件夹的分章节json没修改。 我替换的内容是www.manhuagui.com到tw.manhuagui.com 不过旧有pool文件夹的分章节json文件好像没用了。 所以我换了一个脚本把pool.json和pool文件夹各章节json替换上述内容之后。 用检查更新图书馆,pool文件夹里会重建一个“所有都没下载过”的分章节json文件。 感觉是不会读取pool文件夹改过的分章节json文件。 这样会使得图书馆中所有下载过的文件全都要重新下载一遍。 请教有没有修改方法,谢谢。
下面这个只能改view.json和library.json。pool.json和pool文件夹里面的改不了。 如果我自己改pool.json和pool文件夹,检查更新之后就会全都重新下载。 麻烦您了。
pool.json和pool文件夹的分章节json没修改。
我測試了一下,pool.json
內的任務 URL 有被更新,pool
資料夾內的檔名也有被更新。你使用的 Comic Crawler 是最新版嗎?
换了一个脚本把pool.json和pool文件夹各章节json替换上述内容之后
哪個腳本?