히토미 다운로더용 케모노 다운로드 스크립트
얼마전 케모노 주소가 변경되면서 기존 히토미 다운로더 개발자의 케모노용 스크립트가 동작하지 않길래 간단하게 수정해봄
원 개발자가 바쁜지 히토미 다운로더 업데이트가 좀 늦는감이 있는데 어쩔수 있나 목마른놈이 우물 파야지
aHR0cHM6Ly9raW8uYWMvYy9ib2JNTmdFTExETnZiWVlSY19JUEdi
키오에 파일 두개 업로드 했는데, 두개는 같은거고 브라우저나 안티바이러스가 의심파일이라며 다운로드 거절하는 경우가 있어서 두개 올림
변경점은 hds용 시그니쳐 삭제, 케모노 cr 도메인 추가 끝
귀찮으면 아래 코드 복사해서 플러그인 추가 해도 됨
#coding: utf8
#title: Kemono.Party 추가
#title_en: Add Kemono.Party
#comment: https://kemono.party
#author: Kurt Bestor
import downloader
from utils import Downloader, Session, Soup, LazyUrl, urljoin, get_ext, clean_title, get_print, print_error
import clf2
from translator import tr_
from ratelimit import limits, sleep_and_retry
class Image:
def __init__(self, url, referer, p):
self._url = url
self._p = p
self.url = LazyUrl(referer, self.get, self)
@sleep_and_retry
@limits(1, 5)
def get(self, _):
ext = get_ext(self._url) or downloader.get_ext(self._url)
self.filename = '{:04}{}'.format(self._p, ext)
return self._url
@Downloader.register
class Downloader_kemonoparty(Downloader):
type = 'kemono.party'
URLS = ['kemono.party', 'kemono.su', 'kemono.cr']
icon = 'base64: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'
display_name = 'Kemono.Party'
MAX_CORE = 4
def read(self):
self.session = Session()
info = read_info(self.url, self.session, self.cw)
type_ = info['type']
if type_ == 'post':
for img in info['imgs']:
self.urls.append(img.url)
self.title = info['title']
else:
raise NotImplementedError(type_)
def read_info(url, session, cw):
print_ = get_print(cw)
info = {}
if '/post/' in url:
type_ = 'post'
else:
raise NotImplementedError('Not a post')
info['type'] = type_
res = clf2.solve(url, session=session, cw=cw)
soup = Soup(res['html'])
info_ = read_post(url, soup, cw)
info['imgs'] = info_['imgs']
tail = ' (kemono.party_{}_{})'.format(type_, info_['id'])
info['title'] = '{}{}'.format(clean_title(info_['title'], allow_dot=True, n=-len(tail)), tail)
return info
def read_post(url, soup, cw):
print_ = get_print(cw)
info = {}
info['title'] = soup.find('h1').text
info['id'] = soup.find('meta', {'name': 'id'})['content']
imgs = []
# Downloads
for item in soup.findAll('li', class_='post__attachment'):
href = urljoin(url, item.find('a')['href'])
img = Image(href, url, len(imgs))
imgs.append(img)
# Files
files = soup.find('div', class_='post__files')
if files:
for item in files.findChildren(recursive=False):
if 'href' in item.attrs:
a = item
else:
a = item.find('a')
href = urljoin(url, a['href'])
# Imgur
if 'imgur.com/' in href:
print_('Imgur: {}'.format(href))
try:
from extractor import imgur_downloader
for img in imgur_downloader.get_imgs(href):
img = Image(img, href, len(imgs))
imgs.append(img)
except Exception as e:
print_(print_error(e))
continue
img = Image(href, url, len(imgs))
imgs.append(img)
# Content
content = soup.find('div', class_='post__content')
if content:
for img in content.findAll('img'):
src = urljoin(url, img['src'])
img = Image(src, url, len(imgs))
imgs.append(img)
info['imgs'] = imgs
return info
messageBox(u'{}: Kemono.Party'.format(tr_(u'사이트를 추가했습니다')))
20
18 comments
hdd-punkerble
08/08/25 Edited 08/08/25와 감사합니다. 일일이 하나씩 받고있었는데
로리보지
08/08/25 url 형식만 바뀐겨?
Скарби тут
08/09/25 케모노꺼까지 와우
nurisora
08/09/25 호옥쉬 coo로 시작하는 비슷한 사이트도 만들어줄수있어?
글쓴이
08/09/25 그쪽은 개발자 공식 스크립트는 없는거같은데 아래에 누가 올려준 스크립트쓰셈
todndpf2dld
08/10/25 이거 히토미 다운로더 이와라도 다운 가능했었던가?
puccho
08/29/25 ㅇㅇ 근데 쿠기 파일 같은거 수동으로 넣어주고 했었었음
로그인 안하면 제한걸려서 그랬던가
ammm
08/29/25 놓쳤는데 연장가능? ㅠ
글쓴이
08/30/25 위에 소스코드 복사해서
탐색기에서 빈 텍스트 파일 만들고 붙여넣기 한다음 저장
kemono.py 로 이름 바꾸기
veynian2003
09/09/25 복붙하고 py로 하고 적용했는데 invalid오류뜸.... dns우회해도 안되고...머가문제지
글쓴이
09/10/25 방금 다시 테스트해봄 잘됨
플러그인에 다른 기존 스크립트랑 충돌나는건지 확인해보고
스크립트 빼고 몇번 껏다 켯다해보고 다시 추가해보셈
nurisora
09/16/25 원래 한 작가 전체작품도 다운가능하지 않았음? 하나씩은 다운되는데 전체는 invalid 뜨네 오류인가.....?
글쓴이
09/16/25 다운로더 원제작자가 아니라 다른사람꺼 쓰신듯
난 원제작자꺼 살짝 수정한거라 원래 기능엔 변함이없음
nurisora
09/16/25 해결은 못했는데 비슷하게는 했습니당 감사합니다
zhsptlsdlq
09/17/25 어떻게 해결함?
nurisora
09/17/25 Edited 09/17/25https://github.com/KurtBestor/Hitomi-Downloader/issues/5843
여기댓글보고해결했어요
로빈
09/20/25 감사감사 CR 도메인때문에 못하고있었는데 덕분에 해결함
asdawv123
12/05/25 Edited 12/05/25혹시 discord에서 이미지 다운하는 스크립트도 제작 부탁드릴수있을까요
post에서는 정상 작동하는데 discord에서는 안되네요 ㅠㅠ
어떻게 한번 해보려고 이래저래 수정해서 읽기까지는 되는데 결국 이미지 파일 못찾고 끝나네요 ㅠㅠ
공지
AI 이미지 관련 공지 및 관련 규정 수정 공지
1uF
05/02
63835
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05/02 63835 22
공지
‼️뉴비 필독 가이드‼️
1uF
05/02
94239
134
‼️뉴비 필독 가이드‼️
공지
1uF
05/02 94239 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04/05
207756
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04/05 207756 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02/05
256225
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02/05 256225 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
05/17/25
1244787
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
05/17/25 1244787 -14
유틸
포레스티아 1.3.2 회상룸 강제 개방
how-72
01/30
8664
6
포레스티아 1.3.2 회상룸 강제 개방
유틸
how-72
01/30 8664 6
유틸
RPG MV 실시간 번역기 설치가이드
mrpls
01/30
19837
17
RPG MV 실시간 번역기 설치가이드
유틸
mrpls
01/30 19837 17
유틸
RPG MV/MZ 실시간 번역기 1.6 - 프린세스 시너지 업데이트
mrpls
01/30
22633
34
RPG MV/MZ 실시간 번역기 1.6 - 프린세스 시너지 업데이트
유틸
mrpls
01/30 22633 34
유틸
엄크 방지 프로그램
cloud
01/29
23932
42
엄크 방지 프로그램
유틸
cloud
01/29 23932 42
유틸
MVZ 플러그인) DarkPlasma_AutoLineBreak.js + MPP_MessageEX_AutoLineBreak_Patch.js + VisuMZ_1_MessageCore.js
ㅇㅇ
01/29
6345
5
MVZ 플러그인) DarkPlasma_AutoLineBreak.js + MPP_MessageEX_AutoLineBreak_Patch.js + VisuMZ_1_MessageCore.js
유틸
ㅇㅇ
01/29 6345 5
유틸
[수정2] 안 돼! 동거 라이프 v1.11 치트파일
kts
01/29
13763
24
[수정2] 안 돼! 동거 라이프 v1.11 치트파일
유틸
kts
01/29 13763 24
유틸
시니시스타 2 1.2.1 모드 총집편 + 추가 노모화
sims9876
01/28
29932
79
시니시스타 2 1.2.1 모드 총집편 + 추가 노모화
유틸
sims9876
01/28 29932 79
유틸
동거라이프 스테이터스 창 안닫히는거 우회
kts
01/27
8369
14
동거라이프 스테이터스 창 안닫히는거 우회
유틸
kts
01/27 8369 14
유틸
EZ + Ehnd 미포함) MVZ 자동 번역 + EZ서버(+ 기본 파일) + 언팩 툴
ㅇㅇ
01/25
19760
18
EZ + Ehnd 미포함) MVZ 자동 번역 + EZ서버(+ 기본 파일) + 언팩 툴
유틸
ㅇㅇ
01/25 19760 18
유틸
SEED OF THE DEAD 2 모자이크 제거패치+본편 진행도100% 세이브
귤뽁
01/24
23074
34
SEED OF THE DEAD 2 모자이크 제거패치+본편 진행도100% 세이브
유틸
귤뽁
01/24 23074 34
유틸
master 폴더 개선) RJ01144461 [むねにくたべたい] 폐급 스트리머 미라이짱~엣치한 코멘트 접수중~
ㅇㅇ
01/22
12225
10
master 폴더 개선) RJ01144461 [むねにくたべたい] 폐급 스트리머 미라이짱~엣치한 코멘트 접수중~
유틸
ㅇㅇ
01/22 12225 10
유틸
RJ01209336 반찬 어플 소문 메모 버그 수정
daraaa
01/22
7147
9
RJ01209336 반찬 어플 소문 메모 버그 수정
유틸
daraaa
01/22 7147 9
유틸
RJ01168428 초보 가출 소녀와 나【다국어 버전】 RunawayGirl-Ver1.06 (일부노모)
류제로
01/21
15243
45
RJ01168428 초보 가출 소녀와 나【다국어 버전】 RunawayGirl-Ver1.06 (일부노모)
유틸
류제로
01/21 15243 45
유틸
MVMZ 정규식으로 필요한 파일 위치 찾기(공통 이벤트, 변수)
ㅇㅇ
01/20
5277
3
MVMZ 정규식으로 필요한 파일 위치 찾기(공통 이벤트, 변수)
유틸
ㅇㅇ
01/20 5277 3
유틸
방주 RJ중복 찾기
봇치
01/20
6621
11
방주 RJ중복 찾기
유틸
봇치
01/20 6621 11
유틸
MV 플러그인: ParallaxLayerMap.js
ㅇㅇ
01/19
6426
6
MV 플러그인: ParallaxLayerMap.js
유틸
ㅇㅇ
01/19 6426 6
유틸
던전 위드 걸 1.1.3 AI 노모
물크스
01/19
17740
63
던전 위드 걸 1.1.3 AI 노모
유틸
물크스
01/19 17740 63
유틸
홍련사주 퓨어 엘레멘츠 치트 플러그인 적용 방법
sucksucke
01/19
8977
11
홍련사주 퓨어 엘레멘츠 치트 플러그인 적용 방법
유틸
sucksucke
01/19 8977 11
유틸
MV 플러그인: TemplateEvent.js
ㅇㅇ
01/18
5156
2
MV 플러그인: TemplateEvent.js
유틸
ㅇㅇ
01/18 5156 2
유틸
MV 플러그인: HIME_GameOverEvents.js
ㅇㅇ
01/18
7337
4
MV 플러그인: HIME_GameOverEvents.js
유틸
ㅇㅇ
01/18 7337 4
유틸
RJ01154724 이세계 환생 매지컬 자지 완전판 노모패치(DLC포함)
류제로
01/17
28045
83
RJ01154724 이세계 환생 매지컬 자지 완전판 노모패치(DLC포함)
유틸
류제로
01/17 28045 83
유틸
MV 플러그인: HalfMove.js
ㅇㅇ
01/17
7722
4
MV 플러그인: HalfMove.js
유틸
ㅇㅇ
01/17 7722 4
유틸
요청 개조) RJ01509483 아스테라 사가 체력바 추가 플러그인.7z
ㅇㅇ
01/15
4254
12
요청 개조) RJ01509483 아스테라 사가 체력바 추가 플러그인.7z
유틸
ㅇㅇ
01/15 4254 12
유틸
RPG-Maker-MV-MZ-Cheat 에서 숫자가 잘 안먹힐 때에 (예시: 언홀리 메이든)
cybuster
01/15
10194
25
RPG-Maker-MV-MZ-Cheat 에서 숫자가 잘 안먹힐 때에 (예시: 언홀리 메이든)
유틸
cybuster
01/15 10194 25
유틸
MV 플러그인: MPP_ChoiceEX.js
ㅇㅇ
01/14
3902
5
MV 플러그인: MPP_ChoiceEX.js
유틸
ㅇㅇ
01/14 3902 5
유틸
RPG MV/MZ 치트 플러그인 개조 버전 v3.0
4HHHH
01/13
12808
20
RPG MV/MZ 치트 플러그인 개조 버전 v3.0
유틸
4HHHH
01/13 12808 20
유틸
🔞슬레이 더 스파이어 NSFW 아이언클래드 및 기타 카드
Rasmodia
01/12
33629
34
🔞슬레이 더 스파이어 NSFW 아이언클래드 및 기타 카드
유틸
Rasmodia
01/12 33629 34
유틸
참고용 ai 프롬프트(이미지) 모음
urakan915
01/11
12454
18
참고용 ai 프롬프트(이미지) 모음
유틸
urakan915
01/11 12454 18
유틸
개조를 위한 모음(img, battlebacks1, enemies, Picture)
ㅇㅇ
01/10
6034
7
개조를 위한 모음(img, battlebacks1, enemies, Picture)
유틸
ㅇㅇ
01/10 6034 7
유틸
🔞 슬레이 더 스파이어 NSFW 이벤트 및 휴식 리텍스쳐
Rasmodia
01/09
14033
37
🔞 슬레이 더 스파이어 NSFW 이벤트 및 휴식 리텍스쳐
유틸
Rasmodia
01/09 14033 37
s/somisoft
• 143,985 subscribers여러가지 다루는 서브
Created 05/17/2025, 14:58:43