kone
소미소프트

소미소프트

RJ코드 추출해서 클릭하면 바로 이동되는 파이썬 코드

04/15/2026, 11:55:25
유틸
8751 views · 4 likes

방주 올라오는 거 하나씩 입력하기 귀찮아서 만든 코드

필요 프로그램: 파이썬

필요 브라우저: 크롬


1

파일 실행



1

링크가 추출된 사진

저기서 클릭하면 바로 dlsite나 getchu, steam으로 넘어감


import tkinter as tk
from tkinter import scrolledtext, messagebox
import re
import webbrowser

class MultiLinkGenerator:
def __init__(self, root):
self.root = root
self.root.title("링크 생성기")
self.root.geometry("850x700")

self.custom_font = ("Gmarket Sans TTF Medium", 16)

self.label = tk.Label(root, text="코드 입력:", font=self.custom_font)
self.label.pack(pady=15)

self.input_area = scrolledtext.ScrolledText(root, height=8, width=60, font=self.custom_font)
self.input_area.pack(pady=5, padx=20)

self.btn_convert = tk.Button(root, text="모든 링크 추출 및 생성", command=self.extract_and_generate,
bg="#28a745", fg="white", font=self.custom_font, padx=20)
self.btn_convert.pack(pady=15)

self.result_frame = tk.Frame(root)
self.result_frame.pack(fill="both", expand=True, padx=20, pady=10)

self.scrollbar = tk.Scrollbar(self.result_frame)
self.scrollbar.pack(side="right", fill="y")

self.listbox = tk.Listbox(self.result_frame, yscrollcommand=self.scrollbar.set, font=self.custom_font, width=60)
self.listbox.pack(side="left", fill="both", expand=True)
self.scrollbar.config(command=self.listbox.yview)

self.listbox.bind('', self.open_browser)

self.status = tk.Label(root, text="somisoft.", bd=1, relief=tk.SUNKEN, anchor=tk.W, font=("Gmarket Sans TTF Medium", 16))
self.status.pack(side=tk.BOTTOM, fill=tk.X)

def extract_and_generate(self):
raw_text = self.input_area.get("1.0", tk.END)
codes = sorted(list(set(re.findall(r'(RJ\d+|ST\d+|GC\d+)', raw_text))))

self.listbox.delete(0, tk.END)

if not codes:
messagebox.showinfo("알림", "코드 미발견")
return

for code in codes:
prefix = code[:2]
num = code[2:]

if prefix == "RJ":
url = f"https://www.dlsite.com/maniax/work/=/product_id/{code}.html"
elif prefix == "ST":
url = f"https://store.steampowered.com/app/{num}"
elif prefix == "GC":
url = f"https://www.getchu.com/sp/soft.phtml?id={num}"
else:
continue

self.listbox.insert(tk.END, f"[{prefix}] {url}")

self.status.config(text=f"총 {len(codes)}개의 링크 생성 완료.")

def open_browser(self, event):
selection = self.listbox.curselection()
if selection:
full_text = self.listbox.get(selection[0])
url = full_text.split("] ")[1] if "] " in full_text else full_text
self.status.config(text=f"🌐 브라우저 이동: {url}", fg="green")
webbrowser.open(url)

if __name__ == "__main__":
root = tk.Tk()
app = MultiLinkGenerator(root)
root.mainloop()


코드 복사해서 메모장으로 붙여넣기 후 py 파일로 저장

4
1 comment
REC) 알바 시스템 완성 후 드디어 관련 떡신 제작시작
야짤
kunarin
05/26 3496 11
AI (하드:능욕, 보태, 출산 주의!) 개인적으로 좋아하는 야겜 엔딩
야짤
진한농도
05/26 8198 25
와 ㅈㄴ 당당하게 다른사람 리소스 쌀먹하네 ㅋㅋ
일반
아이스뱅
05/26 4040 8
나츠노사가시모노 고지대가 어디임?
질문
nnednenss
05/26 1839 0
이 시간에 있는 바보
일반
cyberzombie
05/26 2445 6
퇴근하고 유니슨 코드 해야지~
일반
sinbiru
05/26 2621 6
포레스티아 이거 뭐냐?
일반
koewqert
05/26 2756 5
아 언홀리 하다 밤샜네 ㅈ됫네
일반
wkdjs2345
05/26 1894 3
사신상관 DLC 막보 뒤지게 어렵네
일반
메붕
05/26 1355 0
던전앤 브라이드 관련 질문
질문
kmo018
05/26 2636 0
비월선행록 보물지도 위치 질문좀
질문
o0o99
05/26 3157 0
짤 번역하고 싶은데 꼴루는 작가가 없네..
일반
주르르
05/26 1529 -8
도나도나 실행안됨
질문
poisonflower
05/26 2790 0
이거 왜 이러는지 아시는분
질문
인생좆망함
05/26 1862 0
최근 ntr만 보고 듣고하다보니 좀 매너리즘오네
일반
보이저
05/26 1866 0
AI번역, Shift) 우리들! 성교육 위원회 만화판
동인
sexe1
05/26 25136 98
Forestia save 포레스티아 세이브
세이브
blk82
05/26 1714 11
파폭으로 왜 히토미 안들어가짐?
질문
courier6
05/26 1523 -6
FORTUNE BRIDE ~ 절정개안의 의식 치트 세이브
세이브
05/26 2367 14
동인 작품 찾아요
질문
ujakaya12
05/26 2157 0
[복구요청] RJ138193 성검의 세실리아 ~The Soul of Knights~
요청
fkillla
05/26 1914 1
존재감 여동생 한동안 안하다가
일반
ggplain
05/26 2746 0
[요청복구] Cage of Tentacles v1.3.0
복구
vhskorea
05/26 9515 30
[복구요청]スマガ(스마가) + 팬디스크(스마가 스페셜)
요청
burning12
05/26 2260 3
개인적으로 야애니 제작사중 적폐라 생각하는곳 어디라 생각함??
질문
villan
05/26 2402 1
A Promise Best Left Unkept같은 게임 추천좀
질문
mang99122
05/26 981 2
[요청복구] 퀸즈 - 대전형 카지노 솔리테어 RJ01248973
복구
nue
05/26 9869 27
[복구요청] RJ01052977 변태여친 ~나와 그녀의 두근두근♡ 생방송. 복구 부탁드립니다 (꾸벅)
요청
night5
05/26 2071 3
jam packed line tale 공략질문
질문
koddd
05/26 1839 0
보추가 마이너한 장르라서 아쉽다
일반
ㅇㅅㅇd
05/26 1510 0