히토미 다운로더용 케모노 다운로드 스크립트
얼마전 케모노 주소가 변경되면서 기존 히토미 다운로더 개발자의 케모노용 스크립트가 동작하지 않길래 간단하게 수정해봄
원 개발자가 바쁜지 히토미 다운로더 업데이트가 좀 늦는감이 있는데 어쩔수 있나 목마른놈이 우물 파야지
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
64373
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05/02 64373 22
공지
‼️뉴비 필독 가이드‼️
1uF
05/02
94641
134
‼️뉴비 필독 가이드‼️
공지
1uF
05/02 94641 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04/05
208038
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04/05 208038 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02/05
256970
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02/05 256970 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
05/17/25
1244802
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
05/17/25 1244802 -14
동인
Poriuretan 수영부의 에이스
uzaki
04/25
15345
37
Poriuretan 수영부의 에이스
동인
uzaki
04/25 15345 37
동인
Poriuretan 여름 해변에서 의기투합
uzaki
04/25
18067
48
Poriuretan 여름 해변에서 의기투합
동인
uzaki
04/25 18067 48
동인
Poriuretan 시골누나
uzaki
04/25
16306
46
Poriuretan 시골누나
동인
uzaki
04/25 16306 46
동인
Poriuretan 선생님
uzaki
04/25
13292
31
Poriuretan 선생님
동인
uzaki
04/25 13292 31
동인
Poriuretan 옆방의 아주머니
uzaki
04/25
14133
28
Poriuretan 옆방의 아주머니
동인
uzaki
04/25 14133 28
동인
Poriuretan 정오가 지난 오후의 단지아내
uzaki
04/25
15608
30
Poriuretan 정오가 지난 오후의 단지아내
동인
uzaki
04/25 15608 30
동인
Poriuretan 폭풍전의 도서실
uzaki
04/25
11619
28
Poriuretan 폭풍전의 도서실
동인
uzaki
04/25 11619 28
동인
Poriuretan 장마철의 빨래방
uzaki
04/25
11446
43
Poriuretan 장마철의 빨래방
동인
uzaki
04/25 11446 43
동인
Poriuretan 갸루b의 파파카츠
uzaki
04/25
12749
60
Poriuretan 갸루b의 파파카츠
동인
uzaki
04/25 12749 60
미번
[미번][번역요청] 디펜드 다이어리~_ver1.02
minki
04/25
21053
27
[미번][번역요청] 디펜드 다이어리~_ver1.02
미번
minki
04/25 21053 27
미번
[미번] RJ01612483,RJ01414102
페비
04/25
55679
261
[미번] RJ01612483,RJ01414102
미번
페비
04/25 55679 261
미번
[요청복구] RJ01412500 Night High 5
아무일도없었다
04/25
19416
37
[요청복구] RJ01412500 Night High 5
미번
아무일도없었다
04/25 19416 37
번역
기번) 더블 유부녀(미검수)
썩은동태눈깔맨
04/25
32181
106
기번) 더블 유부녀(미검수)
번역
썩은동태눈깔맨
04/25 32181 106
작업현황
특공위원회 오우카 RPG 0 이미지(ui) 번역 80% 진행
joyed47106
04/25
7303
19
특공위원회 오우카 RPG 0 이미지(ui) 번역 80% 진행
작업현황
joyed47106
04/25 7303 19
소리
[한국어 자막판][구매보급][전편느긋오호】 다우너 오호고에 개변태 후배와 섹스라이프
이름뭐하지
04/25
19608
69
[한국어 자막판][구매보급][전편느긋오호】 다우너 오호고에 개변태 후배와 섹스라이프
소리
이름뭐하지
04/25 19608 69
미번
[미번] 비주얼노벨계 야겜 11개
미스터장
04/25
19426
92
[미번] 비주얼노벨계 야겜 11개
미번
미스터장
04/25 19426 92
번역
기번) BBC×FAMILY~
썩은동태눈깔맨
04/25
42925
215
기번) BBC×FAMILY~
번역
썩은동태눈깔맨
04/25 42925 215
복구
(요청복구) 테러블 레버토리 v1.01
kakinara12
04/25
39305
62
(요청복구) 테러블 레버토리 v1.01
복구
kakinara12
04/25 39305 62
세이브
고블린 네스트 세이브 최신화 완
흰꼴뚜기
04/25
8632
15
고블린 네스트 세이브 최신화 완
세이브
흰꼴뚜기
04/25 8632 15
복구
RJ388166 에이전트 시리우스 DLC
doritori
04/25
28018
63
RJ388166 에이전트 시리우스 DLC
복구
doritori
04/25 28018 63
후기 및 공략
개꽂혀서 최소 10시간 이상 박았던 게임들
dpgutlqkf
04/25
30245
82
개꽂혀서 최소 10시간 이상 박았던 게임들
후기 및 공략
dpgutlqkf
04/25 30245 82
소리
~임신 전설~ 옛 용사인 나와 초변태 폭유 공주님×3의 모유 듬뿍 임신시키기 아이 만들기 마왕 봉인 전설♪
dasdaa
04/25
23358
109
~임신 전설~ 옛 용사인 나와 초변태 폭유 공주님×3의 모유 듬뿍 임신시키기 아이 만들기 마왕 봉인 전설♪
소리
dasdaa
04/25 23358 109
동인
후타, 명방) [직번] 시한테 박는 니엔
wa4231
04/25
16082
94
후타, 명방) [직번] 시한테 박는 니엔
동인
wa4231
04/25 16082 94
소리
[구매보급]【사상 최고의 오호신음】몰락 메스가키 영애 음문 조교
이름뭐하지
04/25
13374
63
[구매보급]【사상 최고의 오호신음】몰락 메스가키 영애 음문 조교
소리
이름뭐하지
04/25 13374 63
복구
(요청복구) カーテンのむこう NTR 커튼 너머 NTR ver.1.8
sinryeong
04/25
28187
90
(요청복구) カーテンのむこう NTR 커튼 너머 NTR ver.1.8
복구
sinryeong
04/25 28187 90
번역
[기번] 사신상관EX+DLC 2.0.02
풍수식노천탕
04/25
52306
185
[기번] 사신상관EX+DLC 2.0.02
번역
풍수식노천탕
04/25 52306 185
복구
(요청복구) 무치 무치 자매 환생 목적지에서 변태 봉사 생활
sinryeong
04/25
21094
67
(요청복구) 무치 무치 자매 환생 목적지에서 변태 봉사 생활
복구
sinryeong
04/25 21094 67
영상
메르시 (오버워치)
브레머튼
04/25
19891
101
메르시 (오버워치)
영상
브레머튼
04/25 19891 101
창작
(청아) 꾸준 연필 30주차
지나가던사람
04/25
17171
28
(청아) 꾸준 연필 30주차
창작
지나가던사람
04/25 17171 28
동인
[AI번역] [JUNN] 네토라레바에 - 인싸 여친의 SNS 네토라레 기록 2
gkcuwuwlltnnrra
04/25
44611
153
[AI번역] [JUNN] 네토라레바에 - 인싸 여친의 SNS 네토라레 기록 2
동인
gkcuwuwlltnnrra
04/25 44611 153
s/somisoft
• 143,985 subscribers여러가지 다루는 서브
Created 05/17/2025, 14:58:43