File size: 1,116 Bytes
e87fb3e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import gradio as gr
import requests
from sumy.parsers.html import HtmlParser
from sumy.nlp.tokenizers import Tokenizer
from sumy.summarizers.lsa import LsaSummarizer


def summarize_webpage(url):
    try:
        parser = HtmlParser.from_url(url, Tokenizer("japanese"))
        summarizer = LsaSummarizer()
        summary = summarizer(parser.document, 5)  # 5文で要約
        
        return "\n".join(str(sentence) for sentence in summary)
    
    except Exception as e:
        return f"エラー: {str(e)}"

# Gradioインターフェースの作成
iface = gr.Interface(
    css="footer {visibility: hidden;}",
    theme=gr.themes.Soft(),
    fn=summarize_webpage,
    inputs=gr.Textbox(label="要約ページのURLを入力",info="例)https://www.sankei.com/article/20250503-LENINLBWF5OIZDNUVVZRM37RFQ/",placeholder="要約ページのURLを入力します。"),
    outputs="text",
    title="Webページの要約",
    description="URLを入力すると、そのページの内容を要約します。",
    submit_btn="検索",
    clear_btn="クリア",
    flagging_mode="never"
)

iface.launch()