히토미 다운로더용 케모노 다운로드 스크립트
얼마전 케모노 주소가 변경되면서 기존 히토미 다운로더 개발자의 케모노용 스크립트가 동작하지 않길래 간단하게 수정해봄
원 개발자가 바쁜지 히토미 다운로더 업데이트가 좀 늦는감이 있는데 어쩔수 있나 목마른놈이 우물 파야지
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
64523
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05/02 64523 22
공지
‼️뉴비 필독 가이드‼️
1uF
05/02
94877
134
‼️뉴비 필독 가이드‼️
공지
1uF
05/02 94877 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04/05
208146
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04/05 208146 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02/05
257055
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02/05 257055 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
05/17/25
1245136
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
05/17/25 1245136 -14
유틸
MV, MZ 대사 스킵 플러그인
r4gsdrg
04/11
13950
19
MV, MZ 대사 스킵 플러그인
유틸
r4gsdrg
04/11 13950 19
유틸
코이카츠 프리셋 히가시 통팩 보강
pst0025
04/11
11715
27
코이카츠 프리셋 히가시 통팩 보강
유틸
pst0025
04/11 11715 27
유틸
(코이카츠) 갓 나온 따끈따끈한 프리셋
pst0025
04/10
28255
54
(코이카츠) 갓 나온 따끈따끈한 프리셋
유틸
pst0025
04/10 28255 54
유틸
올려두면 누군가 개꼴리는 MMD를 뽑아주겠지
네토라레프린세스
04/09
12544
23
올려두면 누군가 개꼴리는 MMD를 뽑아주겠지
유틸
네토라레프린세스
04/09 12544 23
유틸
코이카츠 명조 캐릭터 프리셋 공유 (v3)
pst0025
04/08
22813
51
코이카츠 명조 캐릭터 프리셋 공유 (v3)
유틸
pst0025
04/08 22813 51
유틸
[노모패치] 미궁 거리의 그레이스
빙구론희
04/08
21687
29
[노모패치] 미궁 거리의 그레이스
유틸
빙구론희
04/08 21687 29
유틸
코이카츠 명조 프리셋 공유 (2)
pst0025
04/07
11718
52
코이카츠 명조 프리셋 공유 (2)
유틸
pst0025
04/07 11718 52
유틸
코이카츠 의상 공유 1
pst0025
04/07
11999
60
코이카츠 의상 공유 1
유틸
pst0025
04/07 11999 60
유틸
던전 앤 브라이드 치트엔진용 테이블
nooom
04/06
11397
24
던전 앤 브라이드 치트엔진용 테이블
유틸
nooom
04/06 11397 24
유틸
코이카츠 프리셋 공유 ( SolityL pack )
pst0025
04/06
13587
59
코이카츠 프리셋 공유 ( SolityL pack )
유틸
pst0025
04/06 13587 59
유틸
코이카츠 최애작가 4인 모음 (딸각 한방 패치 + 말딸캐릭터 제외 수정)
imakotou
04/05
14752
67
코이카츠 최애작가 4인 모음 (딸각 한방 패치 + 말딸캐릭터 제외 수정)
유틸
imakotou
04/05 14752 67
유틸
ㅁㅁㅁ로 깨지는 유니티 폰트 변경 방법
네토라레프린세스
04/05
5836
18
ㅁㅁㅁ로 깨지는 유니티 폰트 변경 방법
유틸
네토라레프린세스
04/05 5836 18
유틸
코이카츠 벽람 프리셋 공유 (개인 수정본)
pst0025
04/05
11952
30
코이카츠 벽람 프리셋 공유 (개인 수정본)
유틸
pst0025
04/05 11952 30
유틸
코이카츠 아랴양 프리셋 콜렉션 공유
pst0025
04/05
9105
27
코이카츠 아랴양 프리셋 콜렉션 공유
유틸
pst0025
04/05 9105 27
유틸
코이카츠 프리셋 공유 (히가시 통팩)
pst0025
04/05
13376
62
코이카츠 프리셋 공유 (히가시 통팩)
유틸
pst0025
04/05 13376 62
유틸
로컬LLM(Ollama) 이용한 파이썬 MV 번역 코드
샤쿠
04/04
21887
21
로컬LLM(Ollama) 이용한 파이썬 MV 번역 코드
유틸
샤쿠
04/04 21887 21
유틸
[RJ01389782] [AI 번역] 비밀 노출 마나카 커스텀 미션 번역 [SekiMissions 8.5]
bunta_expert
04/04
11635
21
[RJ01389782] [AI 번역] 비밀 노출 마나카 커스텀 미션 번역 [SekiMissions 8.5]
유틸
bunta_expert
04/04 11635 21
유틸
자동소미 해적판
buttercookie
04/03
7851
21
자동소미 해적판
유틸
buttercookie
04/03 7851 21
유틸
kio transfer 비번 자동입력
20250508
04/03
5200
22
kio transfer 비번 자동입력
유틸
20250508
04/03 5200 22
유틸
코이카츠 버튜버 캐릭터 공유(v2)
pst0025
04/02
12086
53
코이카츠 버튜버 캐릭터 공유(v2)
유틸
pst0025
04/02 12086 53
유틸
눈동자 다운로더 GUI (아마도 최신버전)
하이바라
04/02
6148
16
눈동자 다운로더 GUI (아마도 최신버전)
유틸
하이바라
04/02 6148 16
유틸
코이카츠 야스씬 공유 - (홍차)
pst0025
04/01
13568
37
코이카츠 야스씬 공유 - (홍차)
유틸
pst0025
04/01 13568 37
유틸
코이카츠 벽람 프리셋 공유(v2)
pst0025
04/01
15348
46
코이카츠 벽람 프리셋 공유(v2)
유틸
pst0025
04/01 15348 46
유틸
코이카츠 (?) 프리셋 공유
pst0025
04/01
16058
33
코이카츠 (?) 프리셋 공유
유틸
pst0025
04/01 16058 33
유틸
디코드 클릭하기 귀찮아서 만든 확장프로그램
20250508
03/31
11130
57
디코드 클릭하기 귀찮아서 만든 확장프로그램
유틸
20250508
03/31 11130 57
유틸
(빅파이 개조만) 평범한 현실 남매 IN 섹스하지 않으면 나올 수 없는 방.[RJ01332822]
123551
03/29
8600
15
(빅파이 개조만) 평범한 현실 남매 IN 섹스하지 않으면 나올 수 없는 방.[RJ01332822]
유틸
123551
03/29 8600 15
유틸
Base 64 Encode Decode 확장 프로그램 만들어 봤습니다.
shinyiro18
03/28
6708
18
Base 64 Encode Decode 확장 프로그램 만들어 봤습니다.
유틸
shinyiro18
03/28 6708 18
유틸
아오이짱 BepInEx 번역플러그인 잘리던거 해결봤다...
lalalala000
03/28
24466
59
아오이짱 BepInEx 번역플러그인 잘리던거 해결봤다...
유틸
lalalala000
03/28 24466 59
유틸
(코이카츠) 시니시스타2 캐릭터 공유 - [리리아]
pst0025
03/27
20014
40
(코이카츠) 시니시스타2 캐릭터 공유 - [리리아]
유틸
pst0025
03/27 20014 40
유틸
(코이카츠) 원신 캐릭터 공유
pst0025
03/27
10479
33
(코이카츠) 원신 캐릭터 공유
유틸
pst0025
03/27 10479 33
s/somisoft
• 143,985 subscribers여러가지 다루는 서브
Created 05/17/2025, 14:58:43